我有一个使用 .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 core 将上下文与不代表完整方案的对象链接到我现有的数据库表?
最佳答案
如果我对您的理解正确,那么您有一个数据库和两个使用该数据库的项目。第一个项目处理任务,第二个项目获取有关任务的统计信息。在这种情况下,最好将两个项目组合成一个解决方案。在解决方案中,您应该使用您的实体(领域模型)提取类库。作为您的实体的示例:
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、存储库等)提取到单独的类库中。
两个项目都应该使用这两个库。每个项目都应该有自己的一组 View 类。作为 View 类的示例是:
public class Task {
public Guid Id { get; set; }
public string Status { get; set; }
}
您可以将域模型(实体)映射到您自己的 View 模型或使用类似 Automapper 的工具(第二种情况更好)。
关于c# - 是否可以使用 .Net EF Core 从现有数据库加载部分对象方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58732051/