- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我找不到任何可以遵循以使用 SqlBuilder 类的文档或示例。
我需要动态生成sql查询,我找到了这个类。这会是最好的选择吗?
最佳答案
最好的起点是从其 github 存储库中 check out dapper 源代码并查看 SqlBuilder代码。 SqlBuilder class 只有 200 行左右,您应该能够就它是否适合您的需要做出明智的选择。
另一种选择是构建自己的。我个人沿着这条路线走下去,因为它是有道理的。 Dapper将选择查询直接映射到类,如果您将类属性命名为与数据库相同的名称,或者添加诸如 displayName 之类的属性进行映射,您可以使用反射来获取属性名称。将那里的名称和值放入字典中,您可以从那里很容易地生成 sql。
这里有一些东西可以让你开始:
首先是一个示例类,您可以将其传递给您的 sqlbuilder。
public class Foo
{
public Foo()
{
TableName = "Foo";
}
public string TableName { get; set; }
[DisplayName("name")]
public string Name { get; set; }
[SearchField("fooId")]
public int Id { get; set; }
}
public Dictionary<string, object> GetPropertyDictionary()
{
var propDictionary = new Dictionary<string, object>();
var passedType = this.GetType();
foreach (var propertyInfo in passedType.GetProperties())
{
var isDef = Attribute.IsDefined(propertyInfo, typeof(DisplayNameAttribute));
if (isDef)
{
var value = propertyInfo.GetValue(this, null);
if (value != null)
{
var displayNameAttribute =
(DisplayNameAttribute)
Attribute.GetCustomAttribute(propertyInfo, typeof(DisplayNameAttribute));
var displayName = displayNameAttribute.DisplayName;
propDictionary.Add(displayName, value);
}
}
}
return propDictionary;
}
关于dapper - 如何使用 Dapper 的 SqlBuilder?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32752792/
我有一个使用 Npgsql 和 Postgres 的查询。为了构建我的查询,我使用 Dapper 及其 SqlBuilder。 当我在数据库中进行正常语句时,它返回了正确的结果。当我通过 SqlBui
这个 SqlBuilder: var builder = new SqlBuilder(); var sql = builder.AddTemplate( /*... 非常愚蠢的问题,但是,我该如何使
我正在尝试使用 LIKE 在我的数据库中搜索,现在构建器运行良好,除了一件事:我希望在每个参数的前面和后面都有一个 % ,但是构建器的工作方式是,它会在每个参数的前面和后面放置一个 ' 。被执行。所以
我试图为 Dapper 使用 SqlBuilder 的 Where 和 OrWhere 方法,但它的行为并不像我期望的那样。 this question 的编辑部分基本上是我遇到的。由于没有收到回复,
我找不到任何可以遵循以使用 SqlBuilder 类的文档或示例。 我需要动态生成sql查询,我找到了这个类。这会是最好的选择吗? 最佳答案 最好的起点是从其 github 存储库中 check ou
这不仅仅是一个简单的问题,我的英语没有我想要的那么好......我会尽力而为。 我使用 Java 8,在 Postgres 9.6 上使用 Mybatis 3.4.6,我需要执行自定义动态查询。 在我
我正在使用来自 http://openhms.sourceforge.net/sqlbuilder/ 的 Java 和 SQLBuilder并尝试动态构建 SQL SELECT 查询: SelectQ
我找不到 nuget包含 Dapper.Net SqlBuilder 的包裹. 它不在 Dapper dot net 中.它不在 DapperExtensions 中.它不在 Dapper.Contr
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 7 年前。 Improve t
我正在尝试为多个搜索词构建动态 Sql 查询。我大致了解如何使用构建器,但我不确定在循环中做什么,因为我实际上每次都需要 @term 不同(我认为)。不仅在查询中,而且在匿名类型中也要匹配。 我可以在
我尝试使用 SqlBuilder 在 Dapper 中设置事务隔离级别,但似乎不起作用。 var builder = new SqlBuilder(); var sqlStatement = buil
我是一名优秀的程序员,十分优秀!