如何在C#windows窗体中使用实体框架隐藏网格中的列

如何在C#windows窗体中使用实体框架隐藏网格中的列,c#,entity-framework-6,C#,Entity Framework 6,我是一名初级程序员,必须使用实体框架进行项目 我正在使用以下代码填充数据网格: private void Inscription_Load(object sender, EventArgs e) { using (receptionEntities oProxy = new receptionEntities()) { List<P_ShowPotentialReception_Result> oQuery = oPr

我是一名初级程序员,必须使用实体框架进行项目

我正在使用以下代码填充数据网格:

private void Inscription_Load(object sender, EventArgs e)    
{
    using (receptionEntities oProxy = new receptionEntities())
    {
        List<P_ShowPotentialReception_Result> oQuery = 
            oProxy.P_ShowPotentialReception(MainForm.seq_no).ToList();

        foreach (P_ShowPotentialReception_Result objrecep in oQuery)
        {
            Console.WriteLine(objrecep.Rec_seq_no);
        }
        dataGrid3.DataSource = oQuery.ToList();
    }
}
private void铭文加载(对象发送方,事件参数e)
{
使用(receptionEntities oProxy=新的receptionEntities())
{
列表查询=
oProxy.P_显示潜在接收(主表序号).ToList();
foreach(在oQuery中显示潜在接收结果)
{
控制台记录行(对象记录序号);
}
dataGrid3.DataSource=oQuery.ToList();
}
}
控制台.writeline
只是用来检查值是否已通过

两个问题:
1) 有没有办法隐藏我不想在此网格中显示给用户的列


2) 使用Entity Framework填充时,是否有方法根据列信息之一自定义行的背景颜色?

您可以使用投影选择所需内容,如下所示:

var result = oProxy.P_ShowPotentialReception(MainForm.seq_no).Select(r=> new { ID = r.Id, SequenceNumber = r.Rec_seq_no}).ToList();

foreach(var obj in result) 
{
   Console.WriteLine(obj.SequenceNumber);
}
还是我理解错了你的第一个问题


要更改颜色,您可以使用

所有要执行的操作都不是由实体框架控制的,而是由绑定数据的网格控制的。这是什么框架?我假设WinForms不需要在网格上调用DataBind()。无论如何,如果表单上有DataGridView,则可以在设置数据源(再次与设计器一起)后在设计器中设置列。谢谢您,投影工作正常!但是我的颜色有问题,我似乎找不到Windows窗体的rowdata_绑定事件。@Zennher抱歉,我以为你在使用web控件。对于WinForms,您应该使用