私はEFコア(コードファーストとマイグレーション)を使用しています。EFコア(コードファースト):モデルをデータベースに保存できません - > SqlException無効な列名
私はデータベースへの私のモデル(申し出)を保存するのは簡単試してみてください。
SqlExceptionが:無効な列名 'UserGroupId'
_context.Offers.Add(offer); await _context.SaveChangesAsync();
私は、Entity Frameworkのからの例外が取得
しかし、私の上NOなUserGroupId
性質があります10クラス。私はOffer
モデルクラスから削除しました。
また、データベーステーブル内にNOUserGroupId
という列があります。
ログを確認したところ、Entity FrameworkはこのUserGroupId
列のSQL INSERT文を生成することがわかりました。
質問:
誰もがEntity Frameworkのは、このUserGroupId
ゴーストの列への参照を持っているという考えを持っていますか?
ご意見ありがとうございました。
オリバー
UPDATE 1:私は過激ステップをした後
今では本当に奇妙な取得します。
- 私は
- データベース全体を削除し、私は
- も全体の移行、フォルダーを削除した私は、全体の溶液(成功した)
- をコンパイルした後、私は、次のコマンドを使用して、新しい移行を追加しました: `移行initdbをを追加
- は、それから私は使用してデータベースを作成: `アップデート - データベース
そして最後に、私は、生成されたをチェックします再びテーブル。
そして
は、私が知っている必要が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; }
}
}
あなたのオファーモデルを提供してください – itikhomi
私はこのパブリックグループグループ{get; set;}がdb内にUserGroupIdを作成し、それを削除して再度マイグレーションを追加しようと考えています – itikhomi
こんにちは@itikhomi、助けて。私は以下のように答えを見つけました。それは長い夜だったし、私はそれを見なかった。 –