我正在一个个人ASP.NET MVC 3项目中使用EF Code First(4.3.1),该项目与IT技术有关。领域模型非常简单,我已经接近EF生成我想要的DB架构的点了。
领域模型有两个类:Painting和Gallery。每个Painting都属于单个Gallery,而Gallery有两个虚拟属性指向Painting:一个用于指示哪个绘画是其封面图像,另一个用于指示哪个绘画是显示在主页上的Slider图像。
这些类定义如下。我已经删除了一些注释和不相关的属性,以使其易读。
和绘画:
它为类及其关系生成正确的数据库架构,但我遇到了一个小问题,即我没有找到一种方法来控制
它将把它们命名为
我尝试使用
我想把它命名为
非常感谢任何帮助。谢谢。
领域模型有两个类:Painting和Gallery。每个Painting都属于单个Gallery,而Gallery有两个虚拟属性指向Painting:一个用于指示哪个绘画是其封面图像,另一个用于指示哪个绘画是显示在主页上的Slider图像。
这些类定义如下。我已经删除了一些注释和不相关的属性,以使其易读。
public class Gallery
{
public Gallery()
{
Paintings = new List<Painting>();
}
[ScaffoldColumn(false)]
[Key]
public int GalleryId { get; set; }
public string Name { get; set; }
[ScaffoldColumn(false)]
[Column("LaCover")]
public Painting Cover { get; set; }
[ScaffoldColumn(false)]
[Column("ElSlider")]
public Painting Slider { get; set; }
[ScaffoldColumn(false)]
public virtual List<Painting> Paintings { get; set; }
}
和绘画:
public class Painting
{
[ScaffoldColumn(false)]
[Key]
public int PaintingId { get; set; }
public string Name { get; set; }
public int GalleryId { get; set; }
[Column("GalleryId")]
[ForeignKey("GalleryId")]
[InverseProperty("Paintings")]
public virtual Gallery Gallery { get; set; }
public string Filename { get; set; }
}
它为类及其关系生成正确的数据库架构,但我遇到了一个小问题,即我没有找到一种方法来控制
Cover
和Slider
虚拟属性在Gallery
表中所赋予的列名。它将把它们命名为
Cover_PaintingId
和Slider_PaintingId
。我尝试使用
[Column("columnNameHere")]
属性,但它根本没有影响它。就像“我输入了一个与此无关的单词,但它没有显示在模式中”。我想把它命名为
CoverPaintingId
,没有下划线。非常感谢任何帮助。谢谢。
HasOptional
替换为HasRequired
。 - Richard