エンティティフレームワークでRawSqlWhereクエリを実行できません。
モデル :
public partial class Web_User_Setup_Header
{
public byte[] timestamp { get; set; }
public string User_ID { get; set; }
public bool Enable { get; set; }
public System.DateTime Expiration_Date { get; set; }
}
Fluent Model Entity Configuraiton:
public class Web_User_Setup_HeaderConfigruation : EntityTypeConfiguration<Web_User_Setup_Header>
{
public Web_User_Setup_HeaderConfigruation()
{
ToTable("Web User Setup Header");
HasKey(x => x.User_ID).Property(x => x.User_ID).HasColumnName("User ID");
Property(x => x.Expiration_Date).HasColumnName("Expiration Date");
}
}
私が実行しているSQLクエリは次のとおりです。
Web_User_Setup_Header WebSetup = context.Web_User_Setup_Headers.SqlQuery("Select * from [" + Convert.ToString(HttpContext.Items["Company"]) +
"$Web User Setup Header] where User_ID=@p0", uid).SingleOrDefault();
どこHttpContext.Items["Company"] = "Sachin Sales"
とuid = "web"
上記のクエリを実行すると、次のようなエラーが発生します。Invalid column name 'User_ID'.
クエリでに変更User_ID
する[User ID]
と、次のようなエラーが発生します。
The data reader is incompatible with the specified 'JSTestWeb.Models.Web_User_Setup_Header'. A member of the type, 'User_ID', does not have a corresponding column in the data reader with the same name.
誰かがこの問題に光を当てることができますか?ただし、データベースフィールド名は[User ID]
データベースにのみ存在し、変更できません。