2014-10-31 64 views
0

我有一些實體,但我不能從IDS獲得一些收藏。爲什麼不 ?實體框架+ SqlQuery <T>。沒有收集

public IQueryable<Entity> FindByIds(params int[] ids) 
{ 
    List<Entity> resultList = new List<Entity>();  
    return db.Database.SqlQuery<Entity>("SELECT ID, NAME FROM ENTITY WHERE ID in (:ids)", string.Join(", ",ids));  
} 

使用模型

[DataContract] 
    public class Entity 
    { 
     [DataMember] 
     public virtual long Id { get; set; } 


     [DataMember] 
     public virtual string Name { get; set; } 
} 
+1

你能告訴Entity'的'屬性。這些屬性必須完全匹配SQL如何返回它們,否則將無法綁定。 – CSharper 2014-10-31 15:50:47

+1

有沒有理由不使用Linq在使用EF時從數據庫中檢索數據? – 2014-10-31 16:09:17

+0

我不使用LINQ,因爲有一個非常大的嵌套查詢,並使用HAVING,CASE和WITH等結構。 – 2014-11-03 07:10:04

回答

0

我發現那是什麼。 比較2串:

工作

return db.Database.SqlQuery<Entity>("SELECT ID, NAME FROM ENTITY WHERE ID in (:ids)", string.Join(", ",ids)); 

是否工作

return db.Database.SqlQuery<Entity>("SELECT ID, NAME FROM ENTITY WHERE ID in (:ids)", string.Join(",",ids)); 

甲骨文不明白 「」 代碼