zoukankan      html  css  js  c++  java
  • EntityFramework 之 1 1关联

    public class Project
        {
            public string Id { get; set; }
            public string Name { get; set; }
    
            public virtual BaseInfo BaseInfo { get; set; }
            public virtual MoneyInfo MoneyInfo { get; set; }
    
            public Project()
            {
                this.Id = Guid.NewGuid().ToString();
                this.BaseInfo = new BaseInfo();
                this.BaseInfo.ProjectId = this.Id;
                this.MoneyInfo = new MoneyInfo();
                this.MoneyInfo.ProjectId = this.Id;
            }
        }
    
        public class BaseInfo
        {
            public string ProjectId { get; set; }
            public string No { get; set; }
            public double Area { get; set; }
    
            public virtual Project Project { get; set; }
        }
    
        public class MoneyInfo
        {
            public string ProjectId { get; set; }
            public string Unit { get; set; }
            public double Total { get; set; }
    
            public virtual Project Project { get; set; }
        }
    
        public class ProjectEntityTypeConfiguration : EntityTypeConfiguration<Project>
        {
            public ProjectEntityTypeConfiguration()
            {
                ToTable("_Project");
                HasKey(t => t.Id);
    
                // 这种配置必须手工先删除Info项,再删除Project
                HasOptional(p => p.BaseInfo).WithRequired(i => i.Project);
                HasOptional(p => p.MoneyInfo).WithRequired(i => i.Project);
    
    
                // 这种配置无法删除对象
                //HasRequired(p => p.BaseInfo).WithRequiredDependent(i => i.Project);
                //HasRequired(p => p.MoneyInfo).WithRequiredDependent(i => i.Project);
            }
        }
    
        public class MoneyInfoEntityTypeConfiguration : EntityTypeConfiguration<MoneyInfo>
        {
            public MoneyInfoEntityTypeConfiguration()
            {
                ToTable("_MoneyInfo");
                HasKey(t => t.ProjectId);
            }
        }
    
        public class BaseInfoEntityTypeConfiguration : EntityTypeConfiguration<BaseInfo>
        {
            public BaseInfoEntityTypeConfiguration()
            {
                ToTable("_BaseInfo");
                HasKey(t => t.ProjectId);
            }
        }
    

     

  • 相关阅读:
    25 自动类型转换
    24 枚举Enum类
    23 Collection集合常用方法讲解
    Eclipse 快捷键
    21 泛型
    20 IO流(十七)——Commons工具包,FileUtils(二)——copy方法
    19 IO流(十六)——Commons工具包,FileUtils(一)
    18 IO流(十五)——RandomAccessFile随机访问文件及使用它进行大文件切割的方法
    CentOS6.5-6.9安装 docker
    linux开启端口
  • 原文地址:https://www.cnblogs.com/two/p/5264864.html
Copyright © 2011-2022 走看看