我对使用ASP.NET Core 1.0感到非常兴奋,并且无法等待创建一些生产应用程序。我遇到的一个问题是数据访问,使用MVC5和EF6可以很容易地创建.edmx
文件并映射存储过程(复杂类型),这是一个非常棒的功能,使我们可以轻松访问数据
EF Core 1.0 github page表示它将实现存储过程映射。
我已经看到examples您编写查询但我想阻止SQL注入。
使用带有完整.NET框架的.NET Core 1.0,使用EF6调用存储过程的最佳方法是什么?
答案 0 :(得分:0)
一种可能的解决方法是使用类库,您可以将EF6 ADO.NET实体数据模型添加到其中。
类库(DataAccessLayer)
在此处添加连接字符串数据
namespace DataAccessLayer
{
public class Class1
{
public static DbConnection GetConnectionString()
{
EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder();
entityBuilder.Metadata = "res://*/Models.devModel.csdl|res://*/Models.devModel.ssdl|res://*/Models.devModel.msl";
entityBuilder.ProviderConnectionString = "data source=dev-server;initial catalog=ProductWorkflow_New;persist security info=True;user id=user;password=password;MultipleActiveResultSets=True;App=EntityFramework";
entityBuilder.Provider = "System.Data.SqlClient";
return new EntityConnection(entityBuilder.ToString());
}
}
}
devModel.Context.cs(devModel.edmx)
public partial class devModelEntities : DbContext
{
public devModelEntities()
// Add static method here
: base(Class1.GetConnectionString(), true)
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
// Your generated code..
}