使用 Entity Framework 6,我能够执行原始 SQL 查询并使用 DBContext 中未定义的自定义模型来存储查询的输出。一个简单的例子如下:
List<MyModel> data = context.Database.SqlQuery<MyModel>("SELECT Orders.OrderID, Customers.CustomerName FROM Orders INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;").ToList();
我执行一个 SQL 命令,并期望得到一个自定义模型列表。
我尝试使用 Entity Framework Core 做类似的事情,我发现的最接近的示例将迫使我从 DBContext 定义一个属性。这不允许我使用自定义模型来填充 SQL Server 将返回的数据。
var books = context.Books.FromSql("SELECT * FROM Books").ToList();
此查询通知 Entity Framework Core 该查询将返回书籍列表。有没有办法在 Entity Framework Core 中实现类似的东西?
从 .NET Core 2.1 开始:
Add modelBuilder.Query<YourModel>()
to OnModelCreating(ModelBuilder modelBuilder)
Use context.Query<YourModel>().FromSql(rawSql)
获取数据
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)