0

私はEFコア(コードファーストとマイグレーション)を使用しています。EFコア(コードファースト):モデルをデータベースに保存できません - > SqlException無効な列名

私はデータベースへの私のモデル(申し出)を保存するのは簡単試してみてください。

SqlExceptionが:無効な列名 'UserGroupId'

_context.Offers.Add(offer); 
await _context.SaveChangesAsync(); 

私は、Entity Frameworkのからの例外が取得

しかし、私の上NOUserGroupId性質があります10クラス。私はOfferモデルクラスから削除しました。

また、データベーステーブル内にNOUserGroupIdという列があります。

ログを確認したところ、Entity FrameworkはこのUserGroupId列のSQL INSERT文を生成することがわかりました。

質問:

誰もがEntity Frameworkのは、このUserGroupIdゴーストの列への参照を持っているという考えを持っていますか?

ご意見ありがとうございました。

オリバー

UPDATE 1:私は過激ステップをした後

今では本当に奇妙な取得します。

  1. 私は
  2. データベース全体を削除し、私は
  3. も全体の移行、フォルダーを削除した私は、全体の溶液(成功した)
  4. をコンパイルした後、私は、次のコマンドを使用して、新しい移行を追加しました: `移行initdbをを追加
  5. は、それから私は使用してデータベースを作成: `アップデート - データベース

そして最後に、私は、生成されたをチェックします再びテーブル。

そして

は、私が知っている必要がEFでいくつかの魔法は、そこにあるもの、私は、 UserGroupId列は、まだこの表に再び生成されていることがわかり...? EFはまだこの UserGroupId列を生成していますか?

アップデート2

は、ここに私のオファーモデルです。私はそれが本当にシンプルだと思うと私は の理由、なぜUserGroupIdがテーブルに生成されていない参照してください。 OfferモデルクラスのUserGroupIdが間違ったプロパティでした。 私はそれを削除しました。

namespace Common.Models 
{ 
    public class Offer 
    { 
     public int Id { get; set; } 

     public string Name { get; set; } 
     public string Description { get; set; } 
     public DateTime ValidFrom { get; set; } 

     public DateTime ValidTo { get; set; } 
     public bool PickupLocationVerified { get; set; } 
     public string PickupStreet { get; set; } 
     public string PickupPlace { get; set; } 
     public string PickupZip { get; set; } 
     public Country PickupCountry { get; set; } 
     public string Longitude { get; set; } 
     public string Latitude { get; set; } 
     public Order Order { get; set; } 
     public User Supplier { get; set; } 

     public int SupplierId { get; set; } 
     public SupplierRating SupplierRating { get; set; } 

     public int? SupplierRatingId { get; set; } 
     public ConsumerRating ConsumerRating { get; set; } 

     public int? ConsumerRatingId { get; set; } 

     public List<Message> Messages { get; set; } 
     public List<Image> Images { get; set; } 
     public List<Article> Articles { get; set; } 

     public bool Active { get; set; } 

     public DateTime CreateDate { get; set; } 

     public DateTime UpdateDate { get; set; } 

     public Group Group { get; set; } 
    } 
} 
+0

あなたのオファーモデルを提供してください – itikhomi

+1

私はこのパブリックグループグループ{get; set;}がdb内にUserGroupIdを作成し、それを削除して再度マイグレーションを追加しようと考えています – itikhomi

+1

こんにちは@itikhomi、助けて。私は以下のように答えを見つけました。それは長い夜だったし、私はそれを見なかった。 –

答えて

0

回答が見つかりました。 問題はUserGroupモデルクラスにありました。

間違ってプロパティまだありました:

public List<Offer> Offers { get; set; } 

は、私は正直に私が前にそれを見ていないこと、信じることができません。

ありがとうございました。

関連する問題