Linq to sql BLToolkit MapValue未映射
我们开始转换成BL工具包,但遇到了一些问题,没有找到答案。其中一个问题是无法正确映射DTO上的MapValue属性 使用T4模板,我们生成以下内容(作为示例): 我们的数据库是Sybase,字段是接受“y”或“n”的字符(1) 但是,当我查看以下链接查询生成的SQL时,它正在写入[contractor_fl]=0。我需要的是[u fl]=“n”Linq to sql BLToolkit MapValue未映射,linq-to-sql,attributes,bltoolkit,Linq To Sql,Attributes,Bltoolkit,我们开始转换成BL工具包,但遇到了一些问题,没有找到答案。其中一个问题是无法正确映射DTO上的MapValue属性 使用T4模板,我们生成以下内容(作为示例): 我们的数据库是Sybase,字段是接受“y”或“n”的字符(1) 但是,当我查看以下链接查询生成的SQL时,它正在写入[contractor_fl]=0。我需要的是[u fl]=“n” var results = (from i in facade.InputList where (
var results = (from i in facade.InputList
where (
i.UserIdentifier == criteria.UserId &&
i.CounterpartyFlag == false &&
i.Name == criteria.Name)
select i);
有谁在MapValue方面运气更好吗?有什么建议吗 linq查询不支持这种类型的映射。问题是CounterpartyFlag字段可以映射到“y”、“n”值,但表达式中的“false”不能映射 您可以对CounterpartyFlag字段类型使用枚举:
public enum
{
[MapValue('y')] Yes,
[MapValue('n')] No
}
这应该行得通。谢谢,这似乎让我们克服了这个障碍。我确实有个问题要问。使用这个插入方法:publicstaticintinsert(这个表目标,表达式setter);“CounterpartyFlag=false”很好用。因此,在直接从表的DTO插入时,转换就成功了。如果你能解释的话,有什么区别?我很好奇,我希望我的队友也会想知道。
public enum
{
[MapValue('y')] Yes,
[MapValue('n')] No
}