[英]entity framework clarification about model objects and their methods
我有一个关于EF的概念性问题。
我对ORM的总体想法还很陌生,因此我想对一些内容进行澄清:
ORM会做到这一点,对吗?
我可以在EF中创建特定于我的对象的方法吗? 举例来说,我可以把它使我的应用程序可以调用像employee.ViewDetails()
如果employee
是一个对象? 如果是这样,您可以推荐一个简单的教程吗?
EF是否可以在应用程序之间移植? 意思是,构建EF结构然后将其移植到多个应用程序是否容易? 我可以通过从不同的解决方案中引用它来做到这一点,不是吗?
谢谢你的帮助
在回答您的问题之前,让我给您简要介绍一下实体框架
使用实体框架编写面向数据的应用程序具有以下好处:
减少开发时间:该框架提供了核心数据访问功能,因此开发人员可以专注于应用程序逻辑。
开发人员可以在以应用程序为中心的对象模型方面进行工作,包括具有继承的类型,复杂的成员和关系。 在.NET Framework 4中,实体框架还通过普通旧CLR对象(POCO)实体支持持久性无知。
通过支持独立于物理/存储模型的概念模型,可以使应用程序摆脱对特定数据引擎或存储方案的硬编码依赖。
回到第一个问题
实体框架在三种情况下很有用。
1- 首先,如果您已经有数据库,或者要在应用程序的其他部分之前设计数据库。 (这是您当前的情况)
2- 其次,您要专注于域类,然后从域类创建数据库 。
3- 第三,您想在可视设计器上设计数据库架构,然后创建数据库和类。
2)我可以在EF中创建特定于我的对象的方法吗? 例如,我可以做到这一点,以便我的应用程序可以调用employee.ViewDetails()之类的东西,其中employee是对象吗? 如果是这样,您可以推荐一个简单的教程吗?
是可以,请看一下: -https : //msdn.microsoft.com/zh-cn/library/dd456847.aspx-http : //www.asp.net/mvc/overview/older-versions-1/models -data /创建模型类与-的实体框架-CS
3)EF是否可以在应用程序之间移植? 意思是,构建EF结构然后将其移植到多个应用程序是否容易? 我可以通过引用其他解决方案来做到这一点吗?
您可能需要实现存储库模式看看这个惊人的教程
http://blog.gauffin.org/2013/01/repository-pattern-done-right/
http://rycole.com/2014/01/25/entity-framework-repository-pattern.html
希望这可以帮助! 祝你好运 :)
Blubberbo,
使用EF的方式有很多种,分别是代码优先,模型优先和数据库优先。 可以在下面的SO帖子中找到更多信息。
1)您可以在带有EF之类的ORM的上下文中使用LINQ to SQL或LINQ Objects与对象进行交互。
2)如果您想要特定于特定类型的方法,那么您可能想看看为特定类型编写扩展方法。 此处的更多信息https://msdn.microsoft.com/zh-cn/library/bb311042.aspx
3)为了使其具有可移植性,您可能希望围绕它构建抽象,例如,您可能想编写存储库类以将使用EF的DB层和调用它的层(也称为存储库层)分开。 更多信息可以在这里找到
希望能有所帮助,
Praveen Raju
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.