0

次のエンティティがあります。

public class User : EntityBase
{
    [Required]
    [Key]
    public Guid Id { get; set; }
    public virtual ICollection<BlogEntry> BlogEntries { get; set; }
    public virtual ICollection<BlogEntry> [Name?] { get; set; } // User favourite blog entries
}

public class BlogEntry : EntityBase
{
    [Required]
    [Key]
    public Guid Id { get; set; }
    public virtual User User { get; set; }
    public virtual ICollection<User> [Name?] { get; set; } // Users who favourites blog entry
}

CREATE TABLE [dbo].[Favourites](
[BlogEntry_Id] [uniqueidentifier] NOT NULL,
[User_Id] [uniqueidentifier] NOT NULL,
)

EFコードの最初の命名規則に従う場合、両方の場合にどのプロパティ名が必要ですか? また、お気に入りテーブルの名前は UserFavourites にする必要がありますか?

問題が ICollection の名前付けに関連していない場合、BlogEntry をお気に入りにしたユーザーのリストとユーザーがお気に入りにした BlogEntrie のリストをお気に入りテーブルからロードするように EF に指示するにはどうすればよいですか?

4

1 に答える 1

0

Code First を使用する場合は、自分でテーブルを作成しないでください。フレームワークに任せてください。

User Entityのと にICollection<User>Property を作成するだけです。まず、からプロパティを除外します。その後、Entity Framework によってジャンクション テーブル "UsersBlogEntries" が作成されます。BlogEntryICollection<BlogEntry>UserBlogEntry

もちろん、他にもたくさんありますが、これで始めることができます。SOは、この主題に関する優れた回答でいっぱいです。

于 2012-08-22T18:32:08.113 に答える