【问题标题】:Entity framework using statement with Dapper使用 Dapper 语句的实体框架
【发布时间】:2015-06-15 13:12:42
【问题描述】:

我现有的所有 using 语句如下所示:

using (var context = new AppContext())
{
}

现在,如果我想使用 Dapper 将 sql 字符串直接传递给数据库,而不是:

context.Database.SqlQuery(sql);

查看 Dapper 文档后,它看起来只是使用常规连接字符串。我不确定如何调整我的 using 语句声明。

我希望能够像所有 Dapper 示例所示的那样执行以下操作:

connection.Query(sql);

我真的希望 dapper 能帮助我填充自定义属性。例如,我使用部分类来扩展我的实体框架属性之一。目前,当我使用通过 linq 传递 sql 查询时,即使它在 Select 中,也不会填充此属性。

【问题讨论】:

    标签: c# linq entity-framework dapper


    【解决方案1】:

    只需使用 Dapper 的 context.Database.Connection.Query<T>(),因为它只是 DbConnection 的扩展。

    【讨论】:

    • Database.Connection.Query 对我不可用。我将 Dapper dot net Nuget 包安装到我的数据库中。还有什么我需要做的吗?我必须让我的一个类从 IDbConnection 继承吗?
    • 你能访问context.Connection吗?这将返回 Dapper 所需的 DbConnection 对象
    • 我可以访问 context.Database.Connection。 Kamo 告诉我只做 context.Database.Connection.Query 所以我仍然可以使用我的实体框架 using 语句,但智能感知告诉我 Query 不是有效的扩展方法。
    • 您的课堂中是否包含正确的using 语句?
    • 我的错误...我没有使用 Dapper 添加到我的文件中。对不起,谢谢你们的帮助!
    猜你喜欢
    • 1970-01-01
    • 2010-10-13
    • 1970-01-01
    • 1970-01-01
    • 2011-12-15
    • 2013-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多