【发布时间】:2015-08-13 10:48:34
【问题描述】:
我有一个旧数据库,其中表没有主外键关系。而且我现在无法更改/添加数据库中的关系。
我正在尝试使用Entity Framework 或ORM tool。请告诉我在这种情况下是否可以使用任何 ORM?如果不是,那么设计我的 DAL 的合适方法是什么?
我正在使用ASP.NET Web API。
【问题讨论】:
标签: c# database orm sql-server-2012 asp.net-web-api2
我有一个旧数据库,其中表没有主外键关系。而且我现在无法更改/添加数据库中的关系。
我正在尝试使用Entity Framework 或ORM tool。请告诉我在这种情况下是否可以使用任何 ORM?如果不是,那么设计我的 DAL 的合适方法是什么?
我正在使用ASP.NET Web API。
【问题讨论】:
标签: c# database orm sql-server-2012 asp.net-web-api2
看看 Dapper.NET
由于它基本上“水合”了任意 SQL 语句返回的任何内容,因此它甚至能够处理如此糟糕的数据库设计 - 只要您可以用 T-SQL 表达您的查询,Dapper 就可以为您构建一些不错的.NET 对象。
Dapper 也是 Stackoverflow 本身使用的轻量级 ORM :-)
【讨论】:
只要您的数据库表具有主键,您就可以使用 Entity Framework 进行基本操作,例如将表行映射到 C# 对象以及执行 LINQ-to-Entity 查询。
但是,如果没有外键,您将无法利用 navigation properties。这意味着与拥有适当的外键相比,许多事情将更加手动和冗长,但您仍然应该能够进行任何您想要的数据操作。
【讨论】: