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'
는 availabl하지 ArticleId1 및 TagId1 열 이름이있다 테이블에 e. 몇 시간 동안 고생하고 있지만 여전히 해결책을 찾지 못했습니다. 당신은 필요하지 않습니다) 당신은 이미이 ArticleTagMap
에서 특성을 제거, [ForeignKey(...)]
속성에서이 정보를 (또는) 및 마이그레이션 스크립트
2를 다시 작성 -
어떻게 수정 했습니까? 버그처럼 보입니다. –