データベースに実際にはフィールドがないモデルにフィールドを追加する必要があります。
最初に、フィールドを Entity クラスにのみ追加しようとしたためです。
public partial class Weborder
{
(Auto Generated)
public int orderno {get; set;}
.
.
.
(Add Manually)
public string newField1 {get; set;} //this is new field that DB does not have
public string newField2 {get; set;} //this is new field that DB does not have
}
その後、EDXM を更新すると、データベースにフィールドがないため、EDMX は新しいフィールドを削除します。:(
そのため、フィールドを EDMX モデルに手動で追加します。(追加 -> スカラー プロパティ)
コンパイル中にエラーが発生すると、エラーメッセージは次のようになります。
Error 1 Error 3004: Problem in mapping fragments starting at line 399:No mapping specified for properties ...
An Entity with Key (PK) will not round-trip when:...
新しいフィールドをエンティティ クラスに追加する方法を知っている人はいますか?
ありがとうございました!
EDITED FOR : モデルがデータベースの表現であり、データベースにフィールドがない場合、手動で追加する必要があるのはなぜですか?
=>
データを取得する場合、オブジェクトの戻り型はエンティティ クラスです。
コントローラーからビューにデータを渡す前に、IQueryable の結果にさらにデータ (フィールド) を追加する必要があります。
元)
public DbSet<WEBORDERLN> WEBORDERLNs { get; set; }
//repository
public IQueryable<WEBORDERLN> WebOrderLns
{
get { return context.WEBORDERLNs; }
}
そして今、コントローラーで weborderln データを取得します。ビューを渡す前に、私はする必要があります
結果に余分なデータを追加します。
var data = webOrderLnRepository.WebOrderLns.Where(e => e.PICKNO == OrderNo).ToList();
foreach (WEBORDERLN weborderln in data)
{
weborderln.[NEW FIELD] = "EXTRA DATA"; //// FOR THIS, I NEED TO ADD NEW FILED INTO ENTITY CLASS
}
//return data
質問を説明できることを願っています:)
再度、感謝します。