我有以下dbcontext.cs和相应的table.cs,它们使用实体框架在我的MVC中定义DAL。
我的数据库中的 List 表没有C列,但我希望实体从DB获取ID,A,B值并从代码中获取C.如果可行的话,这是可能的最佳方法吗?
以下代码未能提供异常"无效的Coloumn C"。
我可以考虑的另一种方式是声明另一个实体ex: ListEntity2 并在 ListEnity 查询后添加值,我想这是一个好方法但只是想要了解任何其他可能性。
table.cs:
[Table("List")]
public class ListEntity
{
[Key]
public int ID { get; set; }
public string A { get; set; }
public int B { get; set; }
private string name;
public virtual string C
{
get
{
return name;
}
set
{
name=value ;
}
}
}
dbcontext.cs:
public DbSet<ListEntity> List { get; set; }
答案 0 :(得分:1)
您可以尝试使用NotMapped
属性(Documentation)
[...]表示应从数据库映射中排除属性或类。
例如:
using System.ComponentModel.DataAnnotations.Schema;
[Table("List")]
public class ListEntity
{
[Key]
public int ID { get; set; }
public string A { get; set; }
public int B { get; set; }
private string name;
[NotMapped]
public string C
{
get { return name; }
set { name = value; }
}
}