C# 如何在C语言中绑定网格视图#

C# 如何在C语言中绑定网格视图#,c#,entity-framework,ef-code-first,C#,Entity Framework,Ef Code First,我有gridview,我想从数据库绑定它,但它不绑定一些单元格。这是表的类别: public class Break { #region Property [Key] [Required] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] [Column("FldKeyId")] public int MyKeyId { get; set; } [Required] publ

我有gridview,我想从数据库绑定它,但它不绑定一些单元格。这是表的类别:

public class Break
{
    #region Property
    [Key]
    [Required]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    [Column("FldKeyId")]
    public int MyKeyId { get; set; }
    [Required]
    public Machine Machine { get; set; }  
    [Required]
    public Employee Employee { get; set; }
    [Required]
    public Shift Shift { get; set; }
    [Required]
    [Column ("FldStartTime")]
    public DateTime MyStartTime { get; set; }
    [Required]
    [Column ("FldEndTime")]
    public DateTime MyEndTime { get; set; }
    [Column("FldModificationDate")]
    [Required]
    public DateTime ModificationDate { get; set; }
这是我绑定的代码

void RefreshBreakGrid()
    {
        dgvcolDate.DataPropertyName = "ModificationDate";
        dgvcolstarttime.DataPropertyName = "MyStartTime";
        dgvcolendtime.DataPropertyName = "MyEndTime";

        dgvcolemployee.DataSource = Employee.GetAllEmployee();
        dgvcolemployee.DisplayMember = "MyName";
        dgvcolemployee.ValueMember = "MyKeyId";
        dgvcolemployee.DataPropertyName = "Employee";


        dgvcolmachine.DataSource = Machine.GetAllMachine();
        dgvcolmachine.DisplayMember = "MyName";
        dgvcolmachine.ValueMember = "MyKeyId";
        dgvcolmachine.DataPropertyName = "MyName";

        dgvcolshift.DataSource = Shift.GetAllShift();
        dgvcolshift.DisplayMember = "MyName";
        dgvcolshift.ValueMember = "MyKeyId";
        dgvcolshift.DataPropertyName = "Shift";

        _Breaks=Break.GetAllBreak();
        dgvBreak.AutoGenerateColumns = false;
        dgvBreak.DataSource = _Breaks;
    }
这是getAllBreaks的代码

 public static List<Break> GetAllBreak()
    {
        return new ContexManager().Breaks.Where(c => c.MyKeyId != 0).Include(c => c.Machine).Include(c => c.Employee).Include(c => c.Shift).ToList();
    }
公共静态列表GetAllBreak()
{
返回新的ContexManager().Breaks.Where(c=>c.MyKeyId!=0).Include(c=>c.Machine).Include(c=>c.Employee).Include(c=>c.Shift).ToList();
}
现在,当它在shift的单元格中运行时,它显示了机器的
classLibrary.classes.shift
,例如shift
我必须为它做什么?

用每个类的override-toString方法解决它

用override-toString方法解决它

用每个类的override-toString方法解决它

可能取决于你如何设计你的
dgvBreak
来保存嵌套的实体信息。@Rahul我必须为它做什么?发布你的
dgvBreak
设计code@Rahul我补充说列手动编辑列它有任何代码吗?有什么帮助吗?可能取决于您如何设计
dgvBreak
来保存嵌套实体信息。@Rahul我该怎么做?发布您的
dgvBreak
设计code@Rahul我用编辑栏手动添加栏,有代码吗?有什么帮助吗?