.net 一对一实体框架
有谁知道绑定和插入一对一实体的好例子吗 我希望使用实体框架在一个winform中绑定并能够对这两个表进行更改 此客户表单将同时包含个人实体和客户实体的数据 其中个人实体将有名字和姓氏,客户实体将有联合日期等.net 一对一实体框架,.net,sql,winforms,entity-framework,.net,Sql,Winforms,Entity Framework,有谁知道绑定和插入一对一实体的好例子吗 我希望使用实体框架在一个winform中绑定并能够对这两个表进行更改 此客户表单将同时包含个人实体和客户实体的数据 其中个人实体将有名字和姓氏,客户实体将有联合日期等 这是一对一的关系。只需在个人中使用虚拟客户属性即可。 无需在客户中添加参考 请在下面找到一个完整的项目 using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; u
这是一对一的关系。只需在
个人
中使用虚拟客户
属性即可。
无需在客户
中添加参考
请在下面找到一个完整的项目
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Data.Entity;
using System.Data.Entity.ModelConfiguration;
namespace StackOverflow
{
public class Context : DbContext
{
static Context()
{
Database.SetInitializer<Context>(null);
}
public DbSet<Person> People { get; set; }
}
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public string LastName { get; set; }
public virtual Customer Customer { get; set; }
}
public class Customer
{
public int Id { get; set; }
public DateTime JoinDate { get; set; }
//[NotMapped]
//public virtual Person Person { get; set; }
}
class Program
{
static void Main(string[] args)
{
var context = new Context();
context.Database.Delete();
context.Database.Create();
var person = new Person { Name = "Mark", LastName = "Streisand" };
person.Customer = new Customer { JoinDate = DateTime.Now };
context.People.Add(person);
context.SaveChanges();
var p = context.People.Find(1);
var joinDate = p.Customer.JoinDate;
}
}
}
谷歌:ef一对一关系我在谷歌上搜索过,没有找到我需要的东西。当我从数据源拖放到winforms客户对象时,我也会将Person对象作为详细信息拖到表单中,但在运行时不会发生任何事情。这就是我在加载事件时绑定它的方式。Me.CustomerBindingSource.DataSource=context.Customers.ToList
public abstract class Person
{
public int Id { get; set; }
public string Name { get; set; }
public string LastName { get; set; }
//public virtual Customer Customer { get; set; }
}
[Table("Customers")]
public class Customer : Person
{
//public int Id { get; set; }
public DateTime JoinDate { get; set; }
}