相关疑难解决方法(0)

如何在C#中将用户定义的表类型作为存储过程参数传递

在SQL Server 2008中,我们可以定义表类型并将其用作存储过程的参数.但是如何在这个SP的C#调用中使用它呢?换句话说,如何使用SQL Server 2008的这一新功能创建表或列表并将其传递到C#代码中的存储过程?

c# sql-server-2008

20
推荐指数
1
解决办法
3万
查看次数

如何在Entity Framework中编写参数化的原始sql查询

如何在Entity Framework中编写参数化的原始sql查询?我尝试过以下方法:

string dateQueryString = String.Join(",", chartModelData.GetFormattedDateList());
//Dates returned in format of 20140402,20140506,20140704

const string selectQuery = 
    @"SELECT 
         MAX(DATA_SEQ) AS MaxSeq, MIN(DATA_SEQ) AS MinSeq, COUNT(1) AS TotSampleCnt
      FROM SPCDATA_TB
      WHERE DATA_WDATE IN @DateParam  
      AND LINE_CODE = @LineCode
      AND MODEL_NO = @ModelNumber
      AND LOT_NO = @LotNumber
      AND EQUIP_NO LIKE @EquipNumber";

SPCDataSeqCntInfo dataSeqCntInfo = _dbContext.Database.SqlQuery<SPCDataSeqCntInfo>(
      selectQuery,
      new SqlParameter("@DateParam",   dateQueryString),
      new SqlParameter("@LineCode",    chartModelData.LineCode),
      new SqlParameter("@ModelNumber", chartModelData.ModelNum),
      new SqlParameter("@EquipNumber", equipmentNumber),
      new SqlParameter("@LotNumber",   chartModelData.LotNum)
  ).SingleOrDefault() ?? new SPCDataSeqCntInfo();
Run Code Online (Sandbox Code Playgroud)

但正如预期的那样,它会在DateParam上抛出一个错误,因为它期望一个值.

.net c# sql asp.net-mvc entity-framework

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

标签 统计

c# ×2

.net ×1

asp.net-mvc ×1

entity-framework ×1

sql ×1

sql-server-2008 ×1