C# 无法确定复合主键顺序
我有给定的EF实体C# 无法确定复合主键顺序,c#,entity-framework-6,C#,Entity Framework 6,我有给定的EF实体 [Key] [Column("ACTIVITY.ID", Order = 0)] public string ActivityId { get; set; } [Key] [Column("STATISTIC.SECTION", Order = 1)] public string StatisticSection { get; set; } [Key] [Column("STATISTIC.NAME", Or
[Key]
[Column("ACTIVITY.ID", Order = 0)]
public string ActivityId { get; set; }
[Key]
[Column("STATISTIC.SECTION", Order = 1)]
public string StatisticSection { get; set; }
[Key]
[Column("STATISTIC.NAME", Order = 2)]
public string StatisticName { get; set; }
[Key]
[Column("LAP.ID", Order = 3)]
public string LapId { get; set; }
[Column("STATISTIC.TYPE")]
public string StatisticType { get; set; }
[Column("STATISTIC.VALUE")]
public string StatisticValue { get; set; }
[Column("STATISTIC.UNIT")]
public string StatisticUnit { get; set; }
使用以下方法执行插入操作时:
public bool Add(ICollection<RefLapStatistic> entities)
{
return HandleInsert(() =>
{
using (var context = new ReportingRefDataContext(DataSource))
{
var activities = entities.Select(x => x.ActivityId).Distinct();
var entitiesToDelete = context.LapStatistics
.Where(x => activities.Any(y => x.ActivityId.Equals(y, System.StringComparison.OrdinalIgnoreCase)));
context.LapStatistics.RemoveRange(entitiesToDelete);
entities.ToList().ForEach(x => context.LapStatistics.Add(Mapper.Map< RefLapStatisticEntity>(x)));
return context.SaveChanges() > 0;
}
});
}
无法确定类型的复合主键顺序
我不知道为什么会发生这种情况,也看不到映射有任何问题,甚至在Save方法之前就出现了异常。此问题与缺少已定义的Ordering属性无关。您确定要使用EF6吗?您使用的是哪个.NET framework版本?是的,我确定(6.1.3),4.5.2。我有许多其他映射工作正常。可能是@demo的重复,我的问题不同,我有列顺序集。
var entitiesToDelete = context.LapStatistics
.Where(x => activities.Any(y => x.ActivityId.Equals(y, System.StringComparison.OrdinalIgnoreCase)));