创建新实体与自定义现有实体

时间:2011-10-21 05:36:12

标签: c# ado.net wcf-data-services ado.net-entity-data-model

我在网上搜索了创建新实体,创建新实体与自定义现有实体等的好处,但我找不到任何强烈支持这些内容的东西,并且非常具体地在哪里使用自定义实体或在哪里创建新实体在C#。

我有一些想法,我想与您分享,并希望得到您的反馈和支持链接。

创建新实体的优点是您可以定义自己的类并将其用作实体。它允许您避免类类型定义中的部分关键字。不使用partial关键字将有助于通过减少处理开销来更快地编译应用程序。不使用partial的另一个好处是我们没有错误地获得同一个函数的多个实现,因为我们可以使用继承来避免这种情况。

其次,有时修改这个东西比从头开始实现它更典型。

1 个答案:

答案 0 :(得分:1)

通常,当您将实体数据模型与Database First或Code First一起使用时,生成的代码将包含您的标量属性和导航属性以及您可以使用的一系列事件和部分方法。

如果你不想让EF创建它,你必须自己编写它,你最终会得到可能已经生成的相同代码。

我从不知道你不愿意使用partial关键字的原因。这是将生成的代码与您自己的手写扩展分开的好方法。我不担心编译时间。如果你在访问部分类的成员时查看Intellisense,你会发现编译器已经在后台找到了所有东西而你甚至没有注意到它。

因此,如果您使用Database First或Code First方法,让Entity Framework为您生成实体没有任何问题。当然,在如何生成代码方面仍然有很多选择。 POCO模板将生成漂亮,干净的类,与数据库的耦合最小。

如果您真的想从头开始创建实体,可以随时查看“仅限代码”。这是一种技术,实体框架将推断从POCO实体到数据库的数据库映射(必要时通过流畅的API提供一些帮助)。