C# 将值从一个基类的具体化实例传递到另一个基类实例
我目前正在努力使viewmodels能够解析从数据库提取到UI的数据,反之亦然,为此,我在两个viewmodels之间进行了大量手动映射 目前,我尝试传递一些确定属性的值,但由于每个attributetype都需要指定一个特定于批次的参数,并且90%的变量在所有情况下都是冗余的,因为属性只有一种类型 因此,我创建了一个占位符基类,它只包含一个Id,每个ATAttribute都有一个Id, 然后,每个特定的属性类型参数将使用此占位符作为基类 例如:C# 将值从一个基类的具体化实例传递到另一个基类实例,c#,asp.net-core,entity-framework-core,mapping,C#,Asp.net Core,Entity Framework Core,Mapping,我目前正在努力使viewmodels能够解析从数据库提取到UI的数据,反之亦然,为此,我在两个viewmodels之间进行了大量手动映射 目前,我尝试传递一些确定属性的值,但由于每个attributetype都需要指定一个特定于批次的参数,并且90%的变量在所有情况下都是冗余的,因为属性只有一种类型 因此,我创建了一个占位符基类,它只包含一个Id,每个ATAttribute都有一个Id, 然后,每个特定的属性类型参数将使用此占位符作为基类 例如: public class BooleanView
public class BooleanViewSpecification : AttributeTypeSpecification
{
public string TrueOptionText { get; set; }
public string FalseOptionText { get; set; }
}
public class DateTimeTypeViewSpecification : AttributeTypeSpecification
{
public DateTime EarliestDataTime { get; set; }
public DateTime LatestDataTime { get; set; }
}
我的属性类只是一个
public class AttributeView
{
public DataType Type { get; set; }
public AttributeTypeSpecification AttributeTypeViewSpecification { get; set; }
}
public class Attribute
{
public DataType Type { get; set; }
public AttributeTypeSpecification AttributeTypeSpecification { get; set; }
}
我的DB视图模型也是如此
public class BooleanSpecification : AttributeTypeSpecification
{
public string TrueOptionText { get; set; }
public string FalseOptionText { get; set; }
}
public class DateTimeTypeSpecification : AttributeTypeSpecification
{
public DateTime EarliestDataTime { get; set; }
public DateTime LatestDataTime { get; set; }
}
我的属性类只是一个
public class AttributeView
{
public DataType Type { get; set; }
public AttributeTypeSpecification AttributeTypeViewSpecification { get; set; }
}
public class Attribute
{
public DataType Type { get; set; }
public AttributeTypeSpecification AttributeTypeSpecification { get; set; }
}
问题是从一个类映射到另一个类
public static IEnumerable<AttributeView> MapToViewModel(this IEnumerable<Attribute> attributes)
{
return attributes.Select(z => new AttributeView()
{
Type = z.Type,
AttributeTypeViewSpecification = z.AttributeTypeSpecification
});
}
我唯一收到的是实际的Id,而不是指定的条目