Nó không phải là quan trọng nhưng tôi đang cố gắng để tìm ra những gì nó nói với tôi và nó là một cảnh báo hợp pháp? Ai đó có thể giải thích lỗi này trong điều kiện đơn giản cho tôi?CA1001 Visual Studio 2012 Cảnh báo phân tích mã. Nó có nghĩa là gì?
CA1001 loại sở hữu ruộng dùng một lần nên dùng một lần
Thực hiện IDisposable vào 'MemVoteManager' vì nó tạo ra các thành viên của loại IDisposable sau: 'CongressDBEntities'. Nếu trước đây, 'MemVoteManager' đã được chuyển, việc thêm thành viên mới triển khai IDisposable vào loại này được coi là thay đổi đột phá đối với người tiêu dùng hiện tại .
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;
}
Sẽ rất khó để giải thích những gì cảnh báo đó cho bạn biết mà không cần lặp lại cảnh báo. Vì loại của bạn có một trường, trong đó nó xây dựng một đối tượng và lưu trữ vào nó, nơi đối tượng đó triển khai IDisposable, bạn nên triển khai IDisposable trên kiểu của bạn, xử lý đối tượng trong trường đó. Đó là cơ bản những gì cảnh báo nói. Phần thay đổi đột phá là bất kỳ mã hiện có nào sử dụng loại của bạn sẽ không được xây dựng với 'Vứt bỏ' trong tâm trí, và do đó thay đổi đột ngột của nó. –