精致的存储过程和视图

时间:2016-01-30 17:16:02

标签: c# asp.net-mvc dapper

我是ASP.net MVC的新手(我使用的是asp 5 mvc 6)

所以我想使用存储过程,我发现Dapper-dot-net是解决方案。

我创建了存储过程返回的模型

    namespace WebCMS.Dapper
   {
    public class ArticleGetAll
    {
        public int ArticleID { get; set; }
        public string Title { get; set; }
        public string Cotent { get; set; }
        public DateTime DateCreated { get; set; }
        public string Username { get; set; }
    }
}

我为命令创建了.cs文件

    public class ArticleAccess
   {
    private IDbConnection db = Connection.GetConnection();

    public List<ArticleGetAll> GetAll()
    {
        string procedureName = "usp_ArticleGetAll";
        return db.Query<ArticleGetAll>(procedureName).ToList();

    }
}

我想从模型创建VIEW,我收到此错误 Error 1

DbContext需要怎样看? Dapper需要DbContext吗?

我有用于打开SQL连接的类Connection.cs

    namespace WebCMS.Dapper
{
    public class Connection
    {
        public static SqlConnection GetConnection()
        {
            SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);
            con.Open();

            return con;
        }
    }
}

我应该在这个类中添加:DbContext并添加数据库集吗?

1 个答案:

答案 0 :(得分:2)

如果您查看stored procedures的Dapper文档,那么您会看到他们正在使用参数commandType

var user = cnn.Query<User>("spGetUser", new {Id = 1}, 
    commandType: CommandType.StoredProcedure).SingleOrDefault();

我认为这应该可以解决您的问题。错误消息非常奇怪,因为DbContext与Dapper无关。