没有数据库外键的ORM
ORM without database foreign key
我有一个旧数据库,其中的表没有主外键关系。我现在不能在数据库中 change/add 关系。
我正在尝试使用 Entity Framework
或 ORM tool
。请告诉我在这种情况下是否可以使用任何 ORM?如果不是,设计我的 DAL 的合适方法是什么?
我正在使用 ASP.NET Web API
。
只要您的数据库 table 有主键,您就可以使用 Entity Framework 进行基础操作,例如将 table 行映射到 C# 对象并执行 LINQ-实体查询。
但是如果没有外键,您将无法利用 navigation properties。这意味着与拥有适当的外键相比,许多事情将更加手动和冗长,但您仍然应该能够进行任何您想要的数据操作。
看看Dapper.NET
因为它基本上 "hydrates" 无论是任意的 SQL 语句 returns,它甚至能够处理这样糟糕的数据库设计——只要你能表达你的在 T-SQL 中查询,Dapper 可以为您构建一些不错的 .NET 对象。
Dapper也是Whosebug本身使用的轻量级ORM :-)
我有一个旧数据库,其中的表没有主外键关系。我现在不能在数据库中 change/add 关系。
我正在尝试使用 Entity Framework
或 ORM tool
。请告诉我在这种情况下是否可以使用任何 ORM?如果不是,设计我的 DAL 的合适方法是什么?
我正在使用 ASP.NET Web API
。
只要您的数据库 table 有主键,您就可以使用 Entity Framework 进行基础操作,例如将 table 行映射到 C# 对象并执行 LINQ-实体查询。
但是如果没有外键,您将无法利用 navigation properties。这意味着与拥有适当的外键相比,许多事情将更加手动和冗长,但您仍然应该能够进行任何您想要的数据操作。
看看Dapper.NET
因为它基本上 "hydrates" 无论是任意的 SQL 语句 returns,它甚至能够处理这样糟糕的数据库设计——只要你能表达你的在 T-SQL 中查询,Dapper 可以为您构建一些不错的 .NET 对象。
Dapper也是Whosebug本身使用的轻量级ORM :-)