0

車の異なるプロパティを含む carcarmodeldefinitionテーブルと、同じ名前のテーブルへの外部キーである の 2 つのテーブルがあります。cardefinitionテーブルには、さまざまな車とモデルが含まれています。それらをエンティティ フレームワークにマッピングしました。

画像

その中に新しい車を追加しようとすると、見つかった車を使用するだけでなく、新しい車を追加するcarmodeldefinitionだけです。cardefinitionそのためのコードは以下にあります。

   DataLayer.Car car = new DataLayer.Car();
   car.URL = carBulk.URL;
   car.SellerCity = carBulk.SellerCity.ToString();
   car.Color = carBulk.Color.ToString();
   car.SellerStreet = carBulk.SellerStreet;
   car.SellerName = carBulk.SellerName;
   car.SellerCountry = carBulk.SellerCountry.ToString();
   if (cdDTO != null && cdDTO.CarDefinitionId > 0)
   {
       car.CarModelDefinition = cdDTO.Transform(cdDTO);
   }

   mee.AddToCar(car);
   mee.SaveChanges();

は、 をデータベースにマップできるオブジェクトにcdDTO.Transform(cdDTO)変換します。正しいオブジェクトを正しい で返すのはdatatransferobject奇妙なことですが、それが挿入されると、新しい(pk である) と一緒に一番下に挿入されます。cdDTO.Transform(cdDTO);cardefintionIdcardefinitionid

4

1 に答える 1

1

私は答えを見つけました。私は愚かでしたが、関係を 1 対多ではなく 1 対 1 に設定しました。

于 2009-03-28T20:13:59.200 に答える