剛剛從LINQ2SQL開始,我有幾個問題。LINQ2SQL生成的類中的默認構造函數的訪問修飾符
我有一個單獨的表客戶,我運行sqlmetal,它會爲我生成一個ORM類。
我想在客戶的構造函數中應用某些規則,可能像 客戶的名字,姓氏成員必須被提供。
我創造了sqlmetal生成的客戶類的新構造函數 採取2個參數名字,secondName然後打上默認的無參數的構造函數 內部,因爲我不希望公開,要消耗任何這 組裝。
當我嘗試SubmitChanges()時,由於無參數構造函數的公共保護級別爲內部,我的代碼開始抱怨。
List<Customer> customerList = new List<Customer>();
customerList = dbInstance.Customer.ToList();
Customer customerToDelete = customerList.Where(c => c.Customer_id == 100).First();
dbInstance.Customer.DeleteOnSubmit(customerToDelete);
dbInstance.SubmitChanges(); <-- error thrown
「這個對象定義無參數的構造函數」
爲什麼一定要訪問修飾符是公衆在客戶ORM類的默認構造函數?公開時,按預期工作。
有趣的是,如果它需要*實現物體,我不會感到驚訝。然後它需要*提交他們是很奇怪的。 –