c# - 是否可以使用 .Net EF Core 从现有数据库加载部分对象方案?
问题描述
我有一个使用 .net ef 创建的数据库表,其方案如下:
任务(id、标题、描述、状态)
我目前有一个完全使用这个方案的服务器,并且有一个代表这个对象的类
public class Task {
[Key]
public Guid Id { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public string Status { get; set; }
}
我现在想在另一个只需要 Id 和 Status 的项目上设置另一个单独的统计服务器(只读)
public class Task {
[Key]
public Guid Id { get; set; }
public string Status { get; set; }
}
是否可以使用.net ef 核心将上下文与不代表完整方案的对象链接到我现有的数据库表?
解决方案
如果我正确理解您,那么您有一个数据库和两个使用该数据库的项目。第一个项目处理任务,第二个项目获取有关任务的统计信息。在这种情况下,最好将两个项目组合成一个解决方案。在解决方案中,您应该使用您的实体(域模型)提取类库。作为您的实体的示例:
public class Task {
[Key]
public Guid Id { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public string Status { get; set; }
}
您还应该将访问层(dbContext、dbSet、存储库等)提取到单独的类库中。
两个项目都应该使用这两个库。每个项目都应该有自己的一组视图类。作为视图类的示例是:
public class Task {
public Guid Id { get; set; }
public string Status { get; set; }
}
您可以将域模型(实体)映射到自己查看模型或使用 Automapper 之类的东西(第二种情况更好)。
推荐阅读
- c++ - 静态 constexpr 变量和局部 constexpr 变量有什么区别
- django - Django 用户模型需要名字和姓氏
- python - 相同的 DataFrame.reindex 代码 - 不同的输出
- javascript - jQuery 在 iframe 上加载消息
- python - Selenium Python 无法定位元素
- php - 尝试从数据库填充 DropDown 时 Laravel 错误未定义变量
- function - 如何在 Elm 中部分应用具有所需顺序的函数?
- multithreading - 使用共享队列的 Cpp Contentfunction 线程外
- asp.net-core - 返回到我在 Page 中的确切位置
- dns - 使用我们的邮件服务器,但使用 A 记录将网站转移到多个名称服务器