小编Bra*_*ets的帖子

EF Core 2.0枚举存储为字符串

我能够将枚举作为字符串存储在数据库中.

builder.Entity<Company>(eb =>
{
    eb.Property(b => b.Stage).HasColumnType("varchar(20)");
});
Run Code Online (Sandbox Code Playgroud)

但是,当需要查询时,EF不知道将字符串解析为枚举.我该如何查询:

context
    .Company
        .Where(x => x.Stage == stage)
Run Code Online (Sandbox Code Playgroud)

这是一个例外:将varchar值'Opportunity'转换为数据类型int时转换失败

entity-framework ef-core-2.0

10
推荐指数
2
解决办法
6208
查看次数

阅读域中的模型

我正在努力使用我的读模型,因为它是域逻辑和读模型之间的混合.想象一下获得酒店或航空公司的报价.在我的实例中它正在发货.要获得报价,您需要阅读现有的费率表,然后计算费率.您可以将此记录为报价,最终变成订单,但获取报价部分本质上是一个读数,其中一些逻辑(即获得当前燃料费率的服务)将其计入费率.汇总将是报价.

那么您是否会使用读取模型来获取合同/费率表,并将其映射到域?请记住,读取将被优化,它不仅仅是一个简单的GetByID ...并且最好来自读取存储以获得性能.

domain-driven-design ddd-repositories cqrs

6
推荐指数
1
解决办法
1393
查看次数

自动映射器将多个列表从源映射到目标上的单个列表

我所拥有的是这样的:

public class Rate
{
    public List<Charge> CarrierCharges { get; set; }
    public List<Charge> CustomerCharges { get; set; }
    public List<Charge> ThirdPartyCharges { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我需要它映射到这个:

public class Quote
{
    public List<Charge> Charges { get; set; }        
}
Run Code Online (Sandbox Code Playgroud)

需要做的是需要将其添加到报价单上的费用列表中。另外棘手的部分是,在报价费用上,有一个类型字段需要根据它映射的列表进行设置。因此,如果它们是 CarrierCharges,则需要将类型设置为 Carrier 等。我正在使用 AfterMap 执行此操作,但我想我会询问是否有更好的方法。

.net c# automapper

1
推荐指数
1
解决办法
1847
查看次数