一对一关系实体框架

打破

我有两个表,一个是客户列表,另一个是客户是否活跃。我想将它们链接到实体框架,但是,我很挣扎。这两个表已经设置好了,必须有主键或外键。

namespace DataWarehouse.Models
{
    public class DatabaseList
    {
        [Key]
        public string STARDB { get; set; }
        public int DBClientID { get; set; }
        public string ClientName { get; set; }
        public DatabaseStatus DatabaseStatus { get; set; }

        public ICollection<PayComponents> PayComponents { get; set; }
         = new List<PayComponents>();
    }

    public class DatabaseStatus
    {
        [Key]
        public string STARDB { get; set; }
        public string STATUS { get; set; }

        public DatabaseList DatabaseList { get; set; }
    }

    public class DatabaseContext : DbContext
    {
        public DatabaseContext(DbContextOptions<DatabaseContext> options)
            : base(options)
        {
        }

        public DbSet<DatabaseList> DatabaseList { get; set; }
        public DbSet<DatabaseStatus> Status { get; set; }
        public DbSet<PayComponents> PayComponents { get; set; }

        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder.Entity<DatabaseList>()
                .HasOne(p => p.DatabaseStatus)
                .WithOne(i => i.DatabaseList)
                .HasForeignKey<DatabaseStatus>(k => k.STARDB);
        }
    }
}

我希望实体框架会看到列STARDB并注意到它在两个表中是相同的,并以这种方式匹配它们。我想要的只是将Status添加DatabaseStatusDatabaselist表中。

谢谢。

打破

设法弄明白了。我的数据库设置正确。但是,我忘记了 Repository.cs 类中的 include 语句。

    public IEnumerable<DatabaseList> GetAllClients()
    {
        _logger.LogInformation("Get all clients was called");

        var clients = _ctx.DatabaseList
                       .Include(d => d.DatabaseStatus)
                       .OrderBy(p => p.ClientName)
                       .ToList();

        return clients;
    }

对 C# 还是新手,所以有点学习曲线!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

实体框架代码优先一对一关系

来自分类Dev

实现实体框架一对一关系

来自分类Dev

实体框架中的一对一关系插入

来自分类Dev

实体框架核心一对一关系在SQL Server中生成一对多

来自分类Dev

实体框架代码首先在复杂实体之间建立一对一关系

来自分类Dev

实体框架6:具有继承关系的一对一关系

来自分类Dev

一对一实体框架关系

来自分类Dev

实体框架与ASP.NET Boilerplate的一对一关系

来自分类Dev

实体框架两端可选的一对一关系

来自分类Dev

实体框架首先使用代码一对一关系。怎么样?

来自分类Dev

C#实体框架:可选的一对一关系

来自分类Dev

实体框架与ASP.NET Boilerplate的一对一关系

来自分类Dev

实体框架:一对一关系,能够双向导航

来自分类Dev

简化实体框架 6 一对一关系的语法

来自分类Dev

实体框架以一对一关系添加新记录,而对象具有 ID

来自分类Dev

如何删除一对一关系中的实体?

来自分类Dev

无法在实体之间建立一对一关系

来自分类Dev

Django rest框架一对一关系

来自分类Dev

一对零或一对一关系的实体框架(EF)代码优先级联删除

来自分类Dev

实体框架-在种子方法中将现有实体添加到一对一关系

来自分类Dev

实体框架-在种子方法中将现有实体添加到一对一关系

来自分类Dev

实体框架一对一关系,其中一个为可选抛出错误

来自分类Dev

插入一对一关系

来自分类Dev

休眠一对一关系

来自分类Dev

休眠一对一关系

来自分类Dev

一对一关系插入

来自分类Dev

休眠一对一关系

来自分类Dev

建立一对一关系

来自分类Dev

GSON一对一关系