2017-04-11 70 views
0

我剛開始看起來小巧玲瓏的目標對.NET核心,但我在與下面的查詢問題,小巧玲瓏,從方法參數傳遞參數查詢Where子句

string query = @" 
SELECT u.*, a.* FROM [System].[UnLocation] u 
INNER JOIN [Declaration].[AirTransportZone] a ON [u].[AirTransportZoneID] = 
[a].[AirTransportZoneID] 
WHERE u.Code = @0 "; 
     IUnLocationData domain = new UnLocationData(); 
    IQueryable<UnLocationData> data = m_DbConnection.Query<UnLocationData, AirTransportZoneData, UnLocationData>(
      query, 
      (u, a) => 
     { 
      u.AirTransportZone = a; 
      return u; 
     }, 
      splitOn: "AirTransportZoneID" 
      ).AsQueryable(); 

     domain.InjectFrom(data); 

     return domain; 

的方法是在上述位於它接受一個字符串類型的單個參數「代碼」。我只需要將「代碼」的方法值傳遞給我的查詢。通常我只會做一些像

WHERE u.Code = @0, code 

我的查詢變量(查詢,代碼...)不工作但後加入另一個參數。

回答

-1

我的解決方案證明是相當直截了當的。這是添加另一種說法頂部的查詢功能的一個簡單的例子:

新{代碼=代碼}

string query = @" 
SELECT u.*, a.* FROM [System].[UnLocation] u 
INNER JOIN [Declaration].[AirTransportZone] a ON [u].[AirTransportZoneID] = 
[a].[AirTransportZoneID] 
WHERE u.Code = @Code"; 

     IUnLocationData domain = new UnLocationData(); 
     IEnumerable<UnLocationData> data = m_DbConnection.Query<UnLocationData, AirTransportZoneData, UnLocationData>(
      query, (u, a) => 
      { 
       u.AirTransportZone = a; 
       return u; 
      }, 
      new { Code = code }, splitOn: "AirTransportZoneID" 
      ); 
+0

請使用您的問題編輯鏈接添加額外的信息。後回答按鈕應該只用於問題的完整答案。 - [來自評論](/評論/低質量帖/ 15807230) – thanksd

+0

@thanksd它似乎是一個解決方案,爲什麼downvote? – VMAtm

+0

@VMAtm idk。不是我 – thanksd