在EF core 2.2中尝试使用非原始类型作为主键时遇到问题。据我了解,应该可以通过使用值转换器来实现。
我有一个Match实体:
y
MatchId包含单个Guid属性
public class Match {
public MatchId Id { get; set }
public string HomeTeam { get; private set; }
public string AwayTeam { get; private set; }
....
}
我的EF匹配配置如下所示,其中Id属性映射到MatchId类型。
public class MatchId : ValueObject {
public Guid Value { get; set; }
public MatchId() {
Value = Guid.NewGuid();
}
public MatchId(Guid value) {
Value = value;
}
....
运行时的结果
public void Configure(EntityTypeBuilder<Match> builder)
{
builder.HasKey(e => e.Id);
builder.Property(e => e.Id).HasConversion(v => v.Value, v => new MatchId(v));
}
是
dotnet ef migrations add InitialCreate
这不可能吗?如果是这样,我想念什么?
谢谢。