我知道这样做是错误的,但我正在处理具有NULLS的遗留代码库,当它意味着空字符串时,反之亦然.
我无法立即看到它是如何可能的,但是当从数据库映射回来时,是否有可能获得(或修改小巧的所以它会返回空字符串而不是空字符串).
Dapper在看到null时不会调用任何setter ,因此选项可能包括:
""在构造函数中设置默认值null在访问者中检查所以:
public class SomeDto
{
public SomeDto()
{
Name = "";
}
public string Name {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
要么:
public class SomeDto
{
private string name;
public string Name { get {return name ?? "";} set {name = value;} }
}
Run Code Online (Sandbox Code Playgroud)
但是,这仅适用于阅读值; 我想不出一个很好的方式来获得短小精悍转""成null传入的参数对象的DTO的时候; 选项包括:
""为null(也许写一个string NullIfBlank(this string s)扩展方法)null代替"",并将数据库查询绑定到@NameOrNull而不是@Name| 归档时间: |
|
| 查看次数: |
4365 次 |
| 最近记录: |