当前位置:  开发笔记 > 运维 > 正文

Linq-to-entities:如何创建对象(new Xyz()vs CreateXyz())?

如何解决《Linq-to-entities:如何创建对象(newXyz()vsCreateXyz())?》经验,为你挑选了1个好方法。

在实体框架中添加新对象的最佳方法是什么?设计师添加了所有这些创建方法,但对我而言,在对象上调用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);

后者更加明确,因为在构造中设置的属性被命名.我假设设计师故意添加创建方法.我为什么要用那些?



1> Craig Stuntz..:

正如安德鲁所说(上调),使用常规构造函数是完全可以接受的.至于为什么存在"创建"方法,我认为目的是明确需要哪些属性.如果你使用这样的方法,你可以放心,你没有忘记设置任何属性,当你SaveChanges时会抛出异常.但是,实体框架的代码生成器并没有完全正确; 它还包括服务器生成的自动增量属性.这些在技术上是"必需的",但您不需要指定它们.

推荐阅读
夏晶阳--艺术
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有