Я только начинаю с LINQ2SQL, и у меня есть несколько вопросов.
У меня есть база данных с одной таблицей Customer, я запускаю sqlmetal, и он генерирует класс ORM для меня.
Я бы хотел применить определенные правила в конструкторе Customer, возможно, что-то вроде
firstName, lastName члены Заказчика должны быть предоставлены.
Я создал новый конструктор в сгенерированном sqlmetal классе Customer для
принять 2 параметра firstName, 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 Customer? Когда это публично, это работает как ожидалось.