TPC 在 Code First-Migration 中不起作用
TPC doesnt work in CodeFirst-Migration
我有以下 class :
public abstract class BaseAttachment
{
public Guid BaseAttachmentId { get; set; }
public string FileName { get; set; }
public string FileExtension { get; set; }
public string FileSize { get; set; }
public Folder Folder { get; set; }
public Guid? FolderId { get; set; }
public byte[] RowVersion { get; set; }
}
我有以下 Table 和继承 BaseAttachment
:
public class ProductGallery : BaseAttachment
{
public ProductHeader ProductHeader { get; set; }
public Guid? ProductHeaderId { get; set; }
}
还有这个:
public class Attachment:BaseAttachment
{
}
当 运行 项目和创建数据库时我有以下 Tables :
BaseAttachment,ProductCategory
而不是一个 Table (BaseAttachment
)。
为什么?
我是一个配置 Class 像这样 ProductCategoryConfig
并使用以下设置 TableName :
public class ProductGalleryConfig:EntityTypeConfiguration<ProductGallery>
{
public ProductGalleryConfig()
{
ToTable("ProductGallery");
Property(row => row.Code).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
Property(row => row.RowVersion).IsRowVersion();
HasRequired(row => row.ProductHeader).WithMany(row => row.Galleries).HasForeignKey(row => row.ProductHeaderId).WillCascadeOnDelete(false);
}
}
并在行下方评论及其修复。
// ToTable("ProductGallery");
我有以下 class :
public abstract class BaseAttachment
{
public Guid BaseAttachmentId { get; set; }
public string FileName { get; set; }
public string FileExtension { get; set; }
public string FileSize { get; set; }
public Folder Folder { get; set; }
public Guid? FolderId { get; set; }
public byte[] RowVersion { get; set; }
}
我有以下 Table 和继承 BaseAttachment
:
public class ProductGallery : BaseAttachment
{
public ProductHeader ProductHeader { get; set; }
public Guid? ProductHeaderId { get; set; }
}
还有这个:
public class Attachment:BaseAttachment
{
}
当 运行 项目和创建数据库时我有以下 Tables :
BaseAttachment,ProductCategory
而不是一个 Table (BaseAttachment
)。
为什么?
我是一个配置 Class 像这样 ProductCategoryConfig
并使用以下设置 TableName :
public class ProductGalleryConfig:EntityTypeConfiguration<ProductGallery>
{
public ProductGalleryConfig()
{
ToTable("ProductGallery");
Property(row => row.Code).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
Property(row => row.RowVersion).IsRowVersion();
HasRequired(row => row.ProductHeader).WithMany(row => row.Galleries).HasForeignKey(row => row.ProductHeaderId).WillCascadeOnDelete(false);
}
}
并在行下方评论及其修复。
// ToTable("ProductGallery");