使用 IConditionalModel 产生语法的问题 返回

C#论坛 老数据
2 2788
exec sp_executesql 
N'SELECT * FROM Product  WHERE ProductID = @ConditionalProductID0 ',
N'@ConditionalProductID0 nvarchar(4000)',
@ConditionalProductID0=N'36'

请问使用 IConditionalModel 是不是能新增型态,

不然我看到 ProductID 的型态是 int ,

却还是帮我转成 nvarchar


热忱回答2

  •    var conModels = new List<IConditionalModel>();
        conModels.Add(new ConditionalModel() { 
                                                   FieldName = "id", 
                                                    ConditionalType = ConditionalType.Equal, 
                                                    FieldValue = "1",
                                                    FieldValueConvertFunc=it=>Convert.ToInt32(it)//转换
                                             });//id=1
       var student = db.Queryable<Order>().Where(conModels).ToList();


    0 回复
  • 非常感谢。另,也找到一些方法处理了,下面为目前处理后的语法

    N'@Conditionalh_Level0 char(5),@Conditionala_Account1 nvarchar(40),@Conditionalh_CreateTime2 datetime,@Conditionalh_CreateTime3 datetime',
    @Conditionalh_Level0 = 'Debug',
    @Conditionala_Account1 = N'%Test%',
    @Conditionalh_CreateTime2 = '2021-05-01 00:00:00',
    @Conditionalh_CreateTime3 = '2021-05-02 00:00:00'


    0 回复