小编dnl*_*ddr的帖子

查看要在Dapper中执行的SQL语句

我想知道在将参数解析为SQL字符串之后是否可以看到SQL语句的实际内容.例如,给出以下代码:

const string SQL = @"
SELECT *
   FROM V_PROVIDER_WAGE_OVER_REVENUE
WHERE SITE_ID = :SITE_ID 
   AND VENDOR_ID = :VENDOR_ID
   AND date_paid >= :DATE_FROM 
   AND date_paid <= :DATE_TO;";

conn.Query<ProviderWageOverRevenueModel>(SQL, new { 
     VENDOR_ID = vendorId, 
     SITE_ID = siteId, 
     DATE_FROM = dateFrom, 
     DATE_TO = dateTo 
}).ToList();
Run Code Online (Sandbox Code Playgroud)

我想知道是否在某些时候(也许在Dapper源内?)我能看到类似的东西:

SELECT *
   FROM V_PROVIDER_WAGE_OVER_REVENUE
WHERE SITE_ID = 199
   AND VENDOR_ID = 17
   AND date_paid >= '01/01/2014' 
   AND date_paid <= '20/11/2014';
Run Code Online (Sandbox Code Playgroud)

编辑

我假设参数占位符将被替换为值,但是仔细观察Dapper的来源之后我意识到它只是在iDbCommand上执行查询,所以在查看这个问题后可以看到执行在.Net内的声明?

我试试这个:

string query = cmd.CommandText;
foreach (DbParameter p in cmd.Parameters)
{
    query = …
Run Code Online (Sandbox Code Playgroud)

.net ado.net dapper

8
推荐指数
1
解决办法
7611
查看次数

如何将不匹配的标签序列化为字典?

我正在尝试使用YamlDotNet解析此YAML文档:

title: Document with dynamic properties
/a:
  description: something
/b:
  description: other something
Run Code Online (Sandbox Code Playgroud)

进入这个对象:

public class SimpleDoc
{

    [YamlMember(Alias = "title")]
    public string Title { get; set;}

    public Dictionary<string, Path> Paths { get; set; }
}

public class Path
{
    [YamlMember(Alias = "description")]
    public string Description {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

我希望/ a/b或任何其他不匹配的属性最终在Paths字典中.如何配置YamlDotNet以支持此方案?

反序列化设置是:

// file paths is the path to the specified doc :)
var deserializer = new Deserializer();
var doc = deserializer.Deserialize<SimpleDoc>(File.OpenText(filePath));
Run Code Online (Sandbox Code Playgroud)

但是,由于SimpleDoc 上没有属性/ a,它失败了.如果我将构造函数中的 …

.net c# yaml yamldotnet

6
推荐指数
1
解决办法
509
查看次数

使用C#在XML序列化中允许重复的节点名称

我正在尝试使用C#序列化具有重复节点名称的对象,我需要这样做的原因是因为我正在构建一个使用第三方API的库.

我需要构建的请求看起来像这样.

<DATASET>
   <SITE_ID>123</SITE_ID>
   <DATA type=“name”>Secondary List</DATA>
   <DATA type="extra" id="CLICKTHRU_URL">http://my.domain.com/</DATA>
   <DATA type="extra" id="REPLY_FORWARD_EMAIL">support@my.domain.com</DATA>
   <DATA type="extra" id="REPLY_FROM_EMAIL">forward@my.domain.com</DATA>
   <DATA type="extra" id="REPLY_FROM_NAME">8@yahoo.com</DATA>
   <DATA type="extra" id="REPLY_FORWARD_SUBJECT">Customer Replies</DATA>
   <DATA type="extra" id="HANDLE_UNSUBSCRIBE"></DATA>
   <DATA type="extra" id="HANDLE_AUTOREPLY"></DATA>
   <DATA type="extra" id="FOOTER_TEXT">Confidentiality agreement…</DATA>
   <DATA type="extra" id="FOOTER_HTML"> Confidentiality agreement…</DATA>
</DATASET>
Run Code Online (Sandbox Code Playgroud)

我的方法是创建一个表示请求的类并使用XML序列化属性,该类如下所示:

[XmlRoot("DataSet")]
public class AddListCallHolder : BaseCallHolder
{
    private BaseAttributeHolder _name = new BaseAttributeHolder(type: "");

    [XmlElement("DATA")]
    public BaseAttributeHolder Name
    {
        get { return _name; }
        set { _name = value; }
    }

    private BaseAttributeHolder _clickthruUrl = new BaseAttributeHolder(id: "CLICKTHRU_URL");

    [XmlElement("DATA")]
    public …
Run Code Online (Sandbox Code Playgroud)

c# xml asp.net

5
推荐指数
1
解决办法
2855
查看次数

使用jquery更新字段不会更新observable

我想向stackoverflow社区问好.

我几天前才开始使用淘汰赛.

正确知道我正在使用它为我正在开发的CMS制作动态菜单构建器.

这是代码:http://jsfiddle.net/dnlgmzddr/HcRqn/

问题是,当我从选择框中选择一个元素时,输入字段会按照我的预期更新,但是observable不会反映更改.因此,未启用添加按钮.

我错过了什么?我该如何解决?

谢谢.

javascript jquery knockout.js

2
推荐指数
1
解决办法
2161
查看次数

标签 统计

.net ×2

c# ×2

ado.net ×1

asp.net ×1

dapper ×1

javascript ×1

jquery ×1

knockout.js ×1

xml ×1

yaml ×1

yamldotnet ×1