为什么可以';我的实体框架模型中是否有类型为type的属性

本文关键字:是否 类型 属性 type 模型 框架 实体 我的 为什么 | 更新日期: 2023-09-27 18:01:11

我正在为一个项目建立一个模型,除了下面的更改之外,一切都按预期进行。我认为将类型指定为Type而不是将其描述为string会很好。

namespace DataBase.Entities
{
  public class Lock
  {
    public Guid Id { get; set; }
    public DateTime? Occasion { get; set; }
    public int Counter { get; set; }
    public Type Entity { get; set; }
    //public string Entity { get; set; }
  }
}

你猜怎么着!英孚一点也不喜欢。我在添加显式迁移时遇到的错误如下,我不知道为什么。

System.ArgumentNullException:值不能为null
参数名称:entitySet

大多数谷歌搜索导致人们发现POCO类有一些他们忘记的继承。有人建议强制重新启用迁移。我在模型中根本没有任何继承,强制迁移只提供了一个重新创建的配置文件。

为什么可以';我的实体框架模型中是否有类型为type的属性

我总是存储程序集限定的类型名称,而不是类型本身。

一个Type实例,它不仅仅是一个名称,而且是运行时可能感兴趣的许多元数据,但按原样存储(即序列化(类型实例是毫无意义的。

当您设置整个Type属性时,获得Type.AssemblyQualifiedName属性值:

instance.Type = typeof(X).AssemblyQualifiedName;

应该与整个类型一起工作的代码可以调用Type.GetType(lock.Type)来再次构建Type实例。