C# 如何在EF Core 5.0.1中提取OwnsOne作为扩展方法
我试图提取“ownsone”作为单独代码的扩展方法,并将其放在MyFramework中,并在所有项目中重用映射C# 如何在EF Core 5.0.1中提取OwnsOne作为扩展方法,c#,entity-framework-core,extension-methods,C#,Entity Framework Core,Extension Methods,我试图提取“ownsone”作为单独代码的扩展方法,并将其放在MyFramework中,并在所有项目中重用映射 private static void SetSize(EntityTypeBuilder<GateRecord> builder) { builder.OwnsOne(c => c.Container) .Property(x => x.Size) .HasConversion(n
private static void SetSize(EntityTypeBuilder<GateRecord> builder)
{
builder.OwnsOne(c => c.Container)
.Property(x => x.Size)
.HasConversion(new ValueConverter<ContainerSize, int>
(
sizeId => sizeId.Id,
sizeId => Enumeration.GetBy<ContainerSize>(sizeId)
))
.HasColumnName("SizeId");
}
private static void SetSize(EntityTypeBuilder)
{
builder.OwnsOne(c=>c.Container)
.Property(x=>x.Size)
.HasConversion(新值转换器
(
sizeId=>sizeId.Id,
sizeId=>Enumeration.GetBy(sizeId)
))
.HasColumnName(“SizeId”);
}
最后,我在发送这些参数时遇到问题(c=>c.Container,x=>x.Size,)
你知道怎么解决吗?请说得更具体些。你们有什么问题?我的问题是所有开发人员在所有项目中都有重复的代码。我将把这段代码移到框架中,供所有开发人员使用。事实上,粗体字应该作为参数传递给函数,我在实现它时遇到了困难。您可以将它们作为委托传递,即
Func拥有的
,但实际上,在这一点上包装EF API只会让开发人员更难。这就是为什么我想要更多关于这个问题的细节,你可以展示一个代码重复的例子,因为你可以在几个微服务中选择像提取接口I have setSize/SetType/SetImoClass等,所以每个开发人员必须在每个EFcore映射中重复代码。请更具体一些。你们有什么问题?我的问题是所有开发人员在所有项目中都有重复的代码。我将把这段代码移到框架中,供所有开发人员使用。事实上,粗体字应该作为参数传递给函数,我在实现它时遇到了困难。您可以将它们作为委托传递,即Func拥有的
,但实际上,在这一点上包装EF API只会让开发人员更难。这就是为什么我想要更多关于这个问题的细节,你可以展示一个代码重复的例子,因为你可以在几个微服务中选择提取接口I have setSize/SetType/SetImoClass等,所以每个开发人员都必须在每个EFcore映射中重复代码。