2017-08-11 8 views
0

とデータリーダーの対応する列を持っていると私は、このクラスを持っていないEF - のSQLQuery - 私は、エンティティフレームワークを使用している同じ名前

public partial class TipoRequisicaoSubCategoria 
    { 
     public TipoRequisicaoSubCategoria() 
     { 
      this.Formularios = new HashSet<Formulario>(); 
     } 

     public int Id { get; set; } 
     public int IdTipoRequisicao { get; set; } 
     public int IdSubcategoria { get; set; } 

     public virtual ICollection<Formulario> Formularios { get; set; } 
     public virtual subcategoria Subcategoria { get; set; } 
     public virtual TipoRequisicao TipoRequisicao { get; set; } 
    } 

表は

Table: tipo_requisicao_subcategoria 
Columns: 
ID_TIPO_REQUISICAO_SUBCATEGORIA int(11) AI PK 
ID_TIPO_REQUISICAO int(11) 
ID_SUBCATEGORIA 

もし私ですlinqを使用して検索すると結果は完璧ですが、SqlQueryメソッドを使用して検索を実行しようとすると、メッセージが表示されます: ""指定された 'medicEntities.TipoRequisicaSubCategoria'と互換性がありません。 。

return _context.tipo_requisicao_subcategoria.SqlQuery(string.Format(@"SELECT TS.* FROM tipo_requisicao_subcategoria TS INNER JOIN 
                              tipo_requisicao T ON T.ID_TIPO_REQUISICAO = TS.ID_TIPO_REQUISICAO 
                              WHERE T.ID_ESPECIALIDADE = {0}", idEspecialidade)).ToList(); 

シモンズ:私のタイプのメンバーで、「ID」、同じ名前のデータリーダーの対応する列を持っていない」

ここでは、私が使用しているクエリです'mはデータベースを最初に使用しています

+0

まず、EDMXファイルのテーブルマッピングの詳細をチェックします。 'ID_TIPO_REQUISICAO_SUBCATEGORIA'は既に生成されたテーブルクラスの' Id'プロパティにマップされていますか?代わりに、別のプロパティにマップされていない/マップされていないかもしれませんか? –

答えて

1

このメッセージは、SQLクエリの結果にIdという列が含まれていないことを示しています。この例では、列名をそれぞれ「Id」、「IdTipoRequisicao」および「IdSubcategoria」に変更しました。

SELECT 
TS.ID_TIPO_REQUISICAO_SUBCATEGORIA as Id, 
TS.ID_TIPO_REQUISICAO as IdTipoRequisicao, 
TS.ID_SUBCATEGORIA as IdSubcategoria 
FROM tipo_requisicao_subcategoria TS INNER JOIN 
tipo_requisicao T ON T.ID_TIPO_REQUISICAO = TS.ID_TIPO_REQUISICAO 
WHERE T.ID_ESPECIALIDADE = {0} 
+0

魅力的な作品!ありがとう! –

関連する問題