Bu önemli değil ama ne söylendiğini anlamaya çalışıyorum ve bu meşru bir uyarı mı? Birisi bu hatayı benim için basit bir şekilde açıklayabilir mi? 'CongressDBEntities': tek kullanımlık alanlarını kendiCA1001 Visual Studio 2012 Kod Analizi uyarısı. Bu ne demek?
CA1001 Türleri o aşağıdaki ıdisposable türlerinden üyelerini oluşturur çünkü
'MemVoteManager' üzerine IDisposable uygulamak atılabilir olmalıdır. 'MemVoteManager' daha önce gönderildiyse, bu tür kimliklendirilebilir 'u uygulayan yeni üyelerin eklenmesi, mevcut tüketicilerinin kırılma değişikliğidir.
public class MemVoteManager : AbstractDataManager, IMemVoteManager
{
private CongressDBEntities context = new CongressDBEntities();
public int AddMemVote(tMemVoteScore mvs)
{
//Insert Model
context.tMemVoteScores.Add(mvs);
context.SaveChanges();
int newPK = mvs.MemVoteScoresID;
//Update funky column ID with PK as well
var memVoteItem = (from m in context.tMemVoteScores
where m.MemVoteScoresID == newPK
select m).SingleOrDefault();
memVoteItem.ID = memVoteItem.MemVoteScoresID;
context.SaveChanges();
return newPK;
}
Bu uyarının yalnızca uyarıyı tekrar etmeden yapmanız gerektiğini bildirmesi zor olacaktır. Türünüzün bir alan oluşturduğu, bir nesne oluşturduğu ve bu nesnenin içine depolandığı, bu nesnenin IDisposable'ı uyguladığı bir alan olduğu için, bu alana nesnenin de atılmasını sağlamanız gerekir. Bu, temel olarak uyarının söylediği şeydir. Kırılma değişim kısmı, türünüzü kullanan mevcut herhangi bir kodun, "Dispose" (Akıl) ile oluşturulmamış olması ve bu nedenle bozulduğunda değişmesidir. –