如何使用 EF6 Code First 将字符串集合映射到数据库。
这是我的场景。我有一个包含字符串集合的书籍类
public class Book
{
public int Id { get; set; }
public string Title { get; set; }
public string ISBN { get; set; }
public virtual ICollection<string> Tags { get; set; }
}
我想将此集合映射到下表。我不希望将字符串序列化为单个字段,因为我想在数据库中查询它们。
CREATE TABLE [dbo].[Books](
[Id] [int] NOT NULL,
[Title] [nvarchar](100) NOT NULL,
[ISBN] [nchar](17) NOT NULL,
CONSTRAINT [PK_Books] PRIMARY KEY CLUSTERED ([Id] ASC)
)
GO
CREATE TABLE [dbo].[BookTags](
[BookId] [int] NOT NULL,
[Tag] [nvarchar](50) NOT NULL,
CONSTRAINT [FK_BookTags_Book] FOREIGN KEY ([BookId]) REFERENCES [Books]([Id]),
CONSTRAINT [FK_BookTags_Tag] UNIQUE ([Tag]),
CONSTRAINT [PK_BookTags] PRIMARY KEY ([BookId], [Tag])
)
GO
我在某处读到 EF 不支持原始集合,但这看起来像一个简单的场景,我们现在使用的是版本 6。那么这是否可能,如果可以,我如何首先使用 EF6 代码来做到这一点?