我需要从EF6转换到.net内核2.2.x,我一直在搜索,但是我不知道如何从可能的EDMX转换一些代码
我需要转换的例子
public virtual ObjectResult<string> GetTransData(string iN_MEM_ID)
{
var iN_MEM_IDParameter = iN_MEM_ID != null ?
new ObjectParameter("IN_MEM_ID", iN_MEM_ID) :
new ObjectParameter("IN_MEM_ID", typeof(string));
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<string>("GetTransData", iN_MEM_IDParameter);
}通常,我将创建一个dbcontext文件,如下所示
public Clinical_CaseTrakker_Context(DbContextOptions<Clinical_CaseTrakker_Context> options) : base(options)
{ }然后我做dbset就像
public DbSet<USP_Get_SAI> USP_Get_SAIs { get; set; }但这整个ObjectResult<T>我从来没有合作过
通常,我只会像这样调用存储的proc
List<OfflineMember> offLine = await _CaseTrakker_Context.OfflineMembers.FromSql("EXECUTE CT.usp_Get_SAI_Offline_Members {0}", userId).ToListAsync();发布于 2019-10-24 00:58:08
你能用FromSqlRaw吗?
var blogs = context.Blogs
.FromSqlRaw("EXECUTE dbo.GetMostPopularBlogs")
.ToList();FromSqlRaw允许您在SQL查询字符串中使用命名参数,当存储过程具有可选参数时,该参数非常有用: var user =新SqlParameter("user","johndoe");var blog= context.Blogs .FromSqlRaw("EXECUTE dbo.GetMostPopularBlogsForUser @filterByUser=@user",user) .ToList();
发布于 2019-10-24 01:25:43
EF仍然支持下面的语法,下面对Task<>做了一些小改动:
Task<List<OfflineMember>> offLine = await _CaseTrakker_Context.OfflineMembers.FromSql("EXECUTE CT.usp_Get_SAI_Offline_Members {0}", userId).ToListAsync();或
List<OfflineMember> offLine = _CaseTrakker_Context.OfflineMembers.FromSql("EXECUTE CT.usp_Get_SAI_Offline_Members {0}", userId).ToList();https://stackoverflow.com/questions/58532677
复制相似问题