2011-08-05 31 views
2

2つのテーブルの間にキーとしてREST_IDを持つ2つのテーブルRESTAURANTとHOURSがあります。 HOURを追加するコードの最初の行に着くとエラーが表示されます。エラーはオブジェクトのインスタンスを作成するように要求しますが、Intellisenceではそのテーブル参照を呼び出すことができます。ここでは、コードのスニップです:LINQ to SQL:複数のテーブルにテーブルを挿入

RESTAURANT addRest = new RESTAURANT(); 
    addRest.REST_NAME = r_name; 
    addRest.REST_STREET1 = r_street; 
    addRest.REST_PHONE = r_phone; 
    addRest.REST_WEBSITE = r_web; 
    addRest.REST_DESC = r_desc; 
    addRest.HOUR.HOURS_SUN = h_su; 
    addRest.HOUR.HOURS_MON = h_mo; 
    addRest.HOUR.HOURS_TUE = h_tu; 
    addRest.HOUR.HOURS_WED = h_we; 
    addRest.HOUR.HOURS_THU = h_th; 
    addRest.HOUR.HOURS_FRI = h_fr; 
    addRest.HOUR.HOURS_SAT = h_sa; 
    addRest.HOURReference.EntityKey = new EntityKey("FVTCEntities.HOURS", "HOURS", 1); 
    db.AddToRESTAURANTs(addRest); 
    db.SaveChanges(); 

答えて

3

HOURは、RESTAURANTの内蔵オブジェクトです。プロパティを設定する前にインスタンス化する必要があります(通常のC#オブジェクトのように):

addRest.HOUR = new HOUR(); 
addRest.HOUR.HOURS_SUN = h_su; 
... 
2

ナビゲーションプロパティがnullあるようにあなたは、あなたのレストランのHOURオブジェクトを作成していません。

... 
addRest.REST_DESC = r_desc; 
addRest.HOUR = new HOUR(); 
addRest.HOUR.HOURS_SUN = h_su; 
... 
関連する問題