ASP.NET核心数据访问(EF6,EF Core 1.0)

时间:2016-07-06 19:51:39

标签: asp.net entity-framework entity-framework-6 asp.net-core entity-framework-core

我对使用ASP.NET Core 1.0感到非常兴奋,并且无法等待创建一些生产应用程序。我遇到的一个问题是数据访问,使用MVC5和EF6可以很容易地创建.edmx文件并映射存储过程(复杂类型),这是一个非常棒的功能,使我们可以轻松访问数据

EF Core 1.0 github page表示它将实现存储过程映射。

我已经看到examples您编写查询但我想阻止SQL注入。

使用带有完整.NET框架的.NET Core 1.0,使用EF6调用存储过程的最佳方法是什么?

1 个答案:

答案 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..

}