【发布时间】:2014-06-29 04:50:33
【问题描述】:
我有以下 C# 模型,其中一家公司存在于给定的时区。
[Table("Company")]
public class Company
{
[Key]
public int Id { get; set; }
[StringLength(255)]
[Required]
public string Name { get; set; }
[Required]
public TimeZone TimeZone { get; set; }
}
[Table("TimeZone")]
public class TimeZone
{
[Key]
public int Id { get; set; }
[StringLength(255)]
public string Name { get; set; }
}
在我预先存在的 SQL 数据库中,TimeZone 表是一个查找表,旨在供 company 表和其他任何需要 TimeZone 的对象引用。因此,一对多关系中的外键在公司中。
CREATE TABLE [dbo].[Company](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](500) NOT NULL,
[TimeZoneId] [int] NOT NULL REFERENCES dbo.TimeZone(Id))
CREATE TABLE [dbo].TimeZone(
[Id] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](500) NOT NULL)
如何使用 EF Fluent API(我使用 EF 6)映射他,以便我可以使用 Company.TimeZone.Name ?
【问题讨论】:
-
你在使用流畅的 API 吗?看起来像数据注释。
-
我两者都用。我认为 EF 允许我这样做……
-
是的,确实如此。只需检查以确保您得到您期望的答案。 :)
标签: c# entity-framework