我有一个基本上扩展了linq类的泛型类。这意味着我不能只扩展linq类,我需要一个单独的泛型类。
public LinqCake // Linq Class from DBML
{
string Name;
FrostingType Type;
}
public class Cake<T> : LinqCake where T is FrostingType
{
public bool SomeProperty
{
get
{
return LinqCake.Type == FrostingType;
}
}
// I basically want to do something like this,
// but I obviously can't because this code isn't valid
public Cake (int ID)
{
this = db.LinqCakes.Where(x=>x.ID = ID).Single();
}
}
public void Main()
{
Cake<Chocolate> ChocolateCake = Cake<Chocolate>(7);
Console.WriteLine(ChocolateCake.SomeProperty);
}
我基本上想要使用数据库中的信息填充Cake的继承类LinqCake。我是否可以通过隐式演员来实现这一目标?
我如何实现我想要做的精神?我可以想到两种方式来做这件事; A)添加一个私有的LinqCake成员B)基本上只是在LinqCake类的每个属性中读入Cake类的重复属性。
我觉得有更好的解决方案,任何想法?
答案 0 :(得分:0)
如果我理解您的问题,请在此处进行投影,其中涉及将类型LinqCake
中的字段映射到Cake
类型的字段。您无法将LinqCake
设置为Cake
,因为它未在类型层次结构中指定。{/ p>
也许像AutoMapper这样的工具可以帮到你。