c# - 是否可以使用 .Net EF Core 从现有数据库加载部分对象方案?

标签 c# .net-core entity-framework-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 core 将上下文与不代表完整方案的对象链接到我现有的数据库表?

编辑: 我添加了一个图像来更好地表示所需的情况 enter image description here

最佳答案

如果我对您的理解正确,那么您有一个数据库和两个使用该数据库的项目。第一个项目处理任务,第二个项目获取有关任务的统计信息。在这种情况下,最好将两个项目组合成一个解决方案。在解决方案中,您应该使用您的实体(领域模型)提取类库。作为您的实体的示例:

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/

相关文章:

entity-framework - Azure 上的 Entity Framework 核心 : Update-Database parameter –ConnectionString does not work

c# - Excel xlXYScatter 由 C# 生成时有行

c# - PrivateKey 引发了 System.Security.Cryptography.CryptographicException 类型的异常

c# - JwtSecurityToken 与 SecurityTokenDescriptor 中的日期不同

linux - 带 SSL 的 Linux 服务中的 .Net Core 2.2 API

.net-core - 如何为 f# 应用程序设置 Windows 资源管理器图标

c# - Dotfuscator 和 VS2012

c# - 执行反序列化时无法发现程序集异常

c# - 使用 Automapper 优化相关子查询

docker - 使用容器编排处理 EF Core 迁移