Ric*_*ard 3 c# inheritance entity-framework
我有一个A类并且是继承的B.假设类A具有以下属性:
就像是:
public class ObjectA
{
public int propertyA1 { get; set; }
public int propertyA2 { get; set; }
public int propertyA3 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
所以我们的B级将具有以下属性:
就像是:
public class ObjectB : ObjectA
{
public int propertyB1 { get; set; }
public int propertyB2 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我们创建了一个B类的新对象,并想象我们有一个包含20个相同类型对象的列表. 想象一下,A类的属性是200,而B类100也都对应于数据库中的表.
因此,想要保留我们的数据来自B类对象列表(使用EntityFramework),我们希望在表A中保存类A的信息.通常我们会执行以下操作:
foreach(var item in ObjectsB)
{
ObjectA a = new ();
a.propertyA1 = item.propertyA1;
...
// And so on to put all the corresponding properties.
db.TableA.add(a);
db.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)
这就是我的问题所在:是否可以从B类对象创建A类对象?也就是说,省略了B类的所有属性.例如:
ObjectA a = b.GetPropertiesFromMasterClass();
Run Code Online (Sandbox Code Playgroud)
如果是这样,我们会避免分配200个可能性,如果可能,前进的方向是什么?
也许这个:
var b = new ObjectB();
var a = b as ObjectA;
Run Code Online (Sandbox Code Playgroud)
更紧凑的版本:
ObjectA a = new ObjectB();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
103 次 |
| 最近记录: |