在实体框架中添加新对象的最佳方法是什么?设计师添加了所有这些创建方法,但对我而言,在对象上调用new更有意义.生成的CreateCustomer方法例如可以像这样调用:
Customer c = context.CreateCustomer(System.Guid.NewGuid(), "Name")); context.AddToCustomer(c);
对我来说,这样做会更有意义:
Customer c = new Customer { Id = System.Guid.NewGuid(), Name = "Name" }; context.AddToCustomer(c);
后者更加明确,因为在构造中设置的属性被命名.我假设设计师故意添加创建方法.我为什么要用那些?
正如安德鲁所说(上调),使用常规构造函数是完全可以接受的.至于为什么存在"创建"方法,我认为目的是明确需要哪些属性.如果你使用这样的方法,你可以放心,你没有忘记设置任何属性,当你SaveChanges时会抛出异常.但是,实体框架的代码生成器并没有完全正确; 它还包括服务器生成的自动增量属性.这些在技术上是"必需的",但您不需要指定它们.