大佬教程收集整理的这篇文章主要介绍了如何使用 FromSqlRaw 在 Entity Framework Core 中返回 int 列表?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这个 sql 查询,它在 Entity Framework 6 中使用原始 sql 并返回一个整数列表。
var sqlString = "SELECT disTinCT A.ListID FROM ABC A INNER JOIN ABCLists B ON B.ID = A.ListID"
var recordIDs = context.Database.sqlquery<int>(sqlString).ToList();
如何将上述内容转换为 Entity Framework Core 3?
我尝试使用 EF Core,但不确定在哪里定义它以作为列表 int 类型返回。以下是我所拥有的。
var recordIDs = _djContext.ABC.FromsqlRaw(sqlString).ToList();
注意:我不需要 liNQ 版本,只需要原始 sql。谢谢。
在 EF 3.0 中,您需要声明一个专用类型,称为 Keyless entity type
[Keyless]
public class SomeType
{
public int ids { get; set; }
}
然后你像往常一样为它定义一个 DbSet
public DbSet<SomeType> SomeTypes { get; set; }
注意: [Keyless] 属性在 EFCore 5.0 中可用。对于 EF 3.0,您可以使用流畅的配置调用 .HasnoKey() 方法:
protected override void OnModelCreaTing(ModelBuilder modelBuilder)
{
modelBuilder.Entity<SomeType>().HasnoKey();
}
然后您可以执行以下操作:
var result = context.SomeTypes.FromSqlRaw(sqlString).ToList();
,
实际上,您只需使用 SELEct
来“投影”查询结果:
String sqlString = "select a.id FROM ABC A INNER JOIN ABCLists B ON B.Id = A.Id";
List<int> recordIds = _djContext.ABC.FromSqlRaw(sqlString).SELEct(abc => abc.Id).ToList();
以上是大佬教程为你收集整理的如何使用 FromSqlRaw 在 Entity Framework Core 中返回 int 列表?全部内容,希望文章能够帮你解决如何使用 FromSqlRaw 在 Entity Framework Core 中返回 int 列表?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。