我有一个.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和状态(只读)的项目中设置另一个统计服务器
public class Task {
[Key]
public Guid Id { get; set; }
public string Status { get; set; }
}
是否可以使用.net ef内核将不代表完整方案的此对象链接到我现有的数据库表中?
答案 0 :(得分:2)
如果我正确理解您的知识,那么您将拥有一个数据库和两个与此数据库一起工作的项目。第一个项目处理任务,第二个项目获取有关任务的统计信息。在这种情况下,最好将两个项目组合成一个解决方案。在解决方案中,您应该使用实体(域模型)提取类库。以您的实体为例:
ggsave("figure.png", plot = last_plot(),
scale = 1, width = 20, height = 15, units = "cm",
dpi = 300)
此外,您还应该将访问层(dbContext,dbSet,存储库等)提取到单独的类库中。
两个项目都应使用这两个库。每个项目应具有自己的一组视图类。作为视图类的示例是:
public class Task {
[Key]
public Guid Id { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public string Status { get; set; }
}
您可以映射域模型(实体)以自己查看模型或使用类似Automapper的东西(第二种情况更好)。
答案 1 :(得分:1)
您可以在SQL Server中创建一个视图,该视图恰好表示任务表中的这两个字段,并将其映射到您的统计表。