1
非常に基本的な電子メールシステムに似たASP.NET MVC 4 Webアプリケーションを、Entity Frameworkのコードを使用して構築しようとしています最初のアプローチ。私が抱えている問題を示すために、次のC#クラスを考えてみましょう。エンティティフレームワークを使用すると、LINQ式はDBに埋め込まれた列のnull値を返します
public class Message
{
public int Id { get; set; }
[Required]
public User From { get; set; }
[Required]
public User To { get; set; }
[Required]
public string Subject { get; set; }
[Required]
public string Content { get; set; }
[Required]
[DataType(DataType.DateTime)]
public DateTime CreatedAt { get; set; }
public bool IsRead { get; set; }
public bool IsTrash { get; set; }
public bool IsSpam { get; set; }
}
public class User
{
public int Id { get; set; }
public string Name { get; set; }
public string Password { get; set; }
public ICollection<Role> Roles { get; set; }
public string Email { get; set; }
}
データベースを播種した後、最初のメッセージ欄はそうのように見える:
Id Subject Content CreatedAt IsRead IsTrash IsSpam From_Id To_Id
1 Howdy Lorem 2012-02-10 0 0 0 2 1
そして2人のユーザが、上記IDと、ユーザーテーブルに存在します。これらの二つのフィールドにつながる私は間違って何をやっている
dbContext.Messages.Single(o=>o.Id==1);
:
私は、次のLINQを実行する場合、それはそのメッセージのFromおよびへの両方がNULLであるが、他のすべてのフィールドが正しく装着されていることを示していますヌルですか?おそらく私の授業の組織に欠陥がありますか?
make FromとTo virtual。 –
dtryonが正しいです。あなたは仮想キーワードがありません。 –