0
我收到錯誤「無效列名」的實體框架RC 2,下面是我的實體無效列名稱 - RC2
public class Article : IEntityBase
{
public Article()
{
TagMaps = new List<ArticleTagMap>();
}
public int Id { get; set; }
[Required, MaxLength(100), MinLength(3)]
public string Slug { get; set; }
[Required]
public string Title { get; set; }
[Required]
public string Description { get; set; }
[MaxLength(255)]
public string ShortDescription { get; set; }
[MaxLength(255)]
public string Metadata { get; set; }
public virtual ICollection<ArticleTagMap> TagMaps { get; set; }
}
public class Tag :IEntityBase
{
public Tag()
{
TagMaps = new List<ArticleTagMap>();
}
public int Id { get; set; }
[Required, MaxLength(100)]
public string TagName { get; set; }
public virtual ICollection<ArticleTagMap> TagMaps { get; set; }
}
public class ArticleTagMap : IEntityBase
{
public int Id { get; set; }
[Required]
public int ArticleId { get; set; }
[Required]
public int TagId { get; set; }
[ForeignKey("TagId")]
public virtual Tag Tag { get; set; }
[ForeignKey("ArticleId")]
public virtual Article Article { get; set; }
}
和DataContext的我添加以下代碼
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<ArticleTagMap>()
.HasOne(a => a.Tag)
.WithMany(b => b.TagMaps)
.HasForeignKey(c => c.TagId)
.OnDelete(DeleteBehavior.Cascade);
modelBuilder.Entity<ArticleTagMap>()
.HasOne(a => a.Article)
.WithMany(b => b.TagMaps)
.HasForeignKey(c => c.ArticleId)
.OnDelete(DeleteBehavior.Cascade);
}
和SQL事件探查我趕上生成的腳本
exec sp_executesql N'SELECT [a0].[Id], [a0].[ArticleId], [a0].[ArticleId1], [a0].[TagId], [a0].[TagId1]
FROM [ArticleTagMaps] AS [a0]
INNER JOIN (
SELECT DISTINCT TOP(1) [a].[Id]
FROM [Campaigns] AS [x]
INNER JOIN [Articles] AS [x.Article] ON [x].[ArticleId] = [x.Article].[Id]
INNER JOIN [Articles] AS [a] ON [x].[ArticleId] = [a].[Id]
WHERE [x.Article].[Slug] = @__slug_0
ORDER BY [a].[Id]
) AS [a1] ON [a0].[ArticleId1] = [a1].[Id]
ORDER BY [a1].[Id]',N'@__slug_0 nvarchar(4000)',@__slug_0=N'bantu-pekak-sanin'
有ArticleId1和TagId1列名這是不是availabl在桌上。我掙扎了好幾個小時,仍然沒有找到任何解決辦法。請幫助:)
您是如何解決這個問題的?看起來像一個錯誤,請回應。 –