繁体   English   中英

关于模型对象及其方法的实体框架说明

[英]entity framework clarification about model objects and their methods

我有一个关于EF的概念性问题。

我对ORM的总体想法还很陌生,因此我想对一些内容进行澄清:

  • 我有一个现有的数据库,我想将从该数据中提取的数据转换为应用程序可以作为对象进行交互的对象,而不仅仅是数据。

ORM会做到这一点,对吗?

  • 我可以在EF中创建特定于我的对象的方法吗? 举例来说,我可以把它使我的应用程序可以调用像employee.ViewDetails()如果employee是一个对象? 如果是这样,您可以推荐一个简单的教程吗?

  • EF是否可以在应用程序之间移植? 意思是,构建EF结构然后将其移植到多个应用程序是否容易? 我可以通过从不同的解决方案中引用它来做到这一点,不是吗?

谢谢你的帮助

在回答您的问题之前,让我给您简要介绍一下实体框架

使用实体框架编写面向数据的应用程序具有以下好处:

  • 减少开发时间:该框架提供了核心数据访问功能,因此开发人员可以专注于应用程序逻辑。

  • 开发人员可以在以应用程序为中心的对象模型方面进行工作,包括具有继承的类型,复杂的成员和关系。 在.NET Framework 4中,实体框架还通过普通旧CLR对象(PO​​CO)实体支持持久性无知。

  • 通过支持独立于物理/存储模型的概念模型,可以使应用程序摆脱对特定数据引擎或存储方案的硬编码依赖。

  • 对象模型和特定于存储的架构之间的映射可以更改,而无需更改应用程序代码。
  • 语言集成查询支持(称为LINQ to Entities)提供IntelliSense和编译时语法验证,用于针对概念模型编写查询。

在此处输入图片说明

回到第一个问题

实体框架在三种情况下很有用。

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结构然后将其移植到多个应用程序是否容易? 我可以通过引用其他解决方案来做到这一点吗?

您可能需要实现存储库模式看看这个惊人的教程

希望这可以帮助! 祝你好运 :)

Blubberbo,

使用EF的方式有很多种,分别是代码优先,模型优先和数据库优先。 可以在下面的SO帖子中找到更多信息。

代码优先与模型/数据库优先

1)您可以在带有EF之类的ORM的上下文中使用LINQ to SQL或LINQ Objects与对象进行交互。

2)如果您想要特定于特定类型的方法,那么您可能想看看为特定类型编写扩展方法。 此处的更多信息https://msdn.microsoft.com/zh-cn/library/bb311042.aspx

3)为了使其具有可移植性,您可能希望围绕它构建抽象,例如,您可能想编写存储库类以将使用EF的DB层和调用它的层(也称为存储库层)分开。 更多信息可以在这里找到

http://www.asp.net/mvc/overview/older-versions/getting-started-with-ef-5-using-mvc-4/implementing-the-repository-and-unit-of-work-patterns-在安-ASP净MVC应用程序

希望能有所帮助,

Praveen Raju

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM