我有以下要求,在我的应用程序中,实体将带有一些字段,但是用户需要能够向实体添加其他字段,然后为这些字段添加值。
我在想这样的事情,但我不确定这是不是一个好方法。
基类是一个实体(不确定我需要在这里添加哪些字段)
var i
然后公司类将继承自实体
public class Entidad
{
}
正如您所看到的,还有一个ICollection的附加字段。该类将具有fieldname,type和id
public class Empresa : Entidad
{
[Key]
public int Id { get; set; }
public string Nombre { get; set; }
public string NIT { get; set; }
public string NombreRepresentanteLegal { get; set; }
public string TelefonoRepresentanteLegal { get; set; }
public string NombreContacto { get; set; }
public string TelefonoContacto { get; set; }
public ICollection<CampoAdicional> CamposAdicionales { get; set; }
}
然后字段值将是这样的:
public class CampoAdicional
{
[Key]
public int Id { get; set; }
public string NombreCampo { get; set; }
public Tiposcampo TipoCampo { get; set; }
}
但是我不确定这是否是我的方案的正确模型类,以及它是否会正确创建表。
答案 0 :(得分:1)
EF适用于延迟加载,所以至少有几个&#34;虚拟&#34; missings。 在所有不使用基本类型和集合的属性中。
您可以使用其他字段扩展多个实体吗?如果是这样,您需要ValorCampo包含实体(Entidad),但实体应具有Id,因此您需要将Id从Empresa移动到Entidad。否则你需要ValorCampo应该引用Empresa而不是Entidad