Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用EF 5.0查找表_C#_Entity Framework - Fatal编程技术网

C# 使用EF 5.0查找表

C# 使用EF 5.0查找表,c#,entity-framework,C#,Entity Framework,我是EF的新手,但我无法抗拒这个概念,现在我被卡住了。我正在开发一个web表单来代替纸质调查。数据结构有大量的查找表。我已经建立了基于EF的数据访问层(DAL)。我想创建一个用户控件,该控件可以传递给与查找表关联的实体,然后简单地将该实体绑定到dropdownlist,然而,我正在努力实现这一点所需的反射 我的代码如下: using System; using System.Collections.Generic; using System.Data.Entity;

我是EF的新手,但我无法抗拒这个概念,现在我被卡住了。我正在开发一个web表单来代替纸质调查。数据结构有大量的查找表。我已经建立了基于EF的数据访问层(DAL)。我想创建一个用户控件,该控件可以传递给与查找表关联的实体,然后简单地将该实体绑定到dropdownlist,然而,我正在努力实现这一点所需的反射

我的代码如下:

    using System;
    using System.Collections.Generic;
    using System.Data.Entity;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;

namespace ABC.ABC.Controls
{
    public partial class ABCQuestionSingle : System.Web.UI.UserControl
    {
        CareDAL.ABC.Entities DAL = new CareDAL.ABC.Entities();

        private string dataTextField;
        public string DataTextField
        {
            get { return dataTextField; }
            set { dataTextField = value; }
        }

        private string dataValueField;
        public string DataValueField
        {
            get { return dataValueField; }
            set { dataValueField = value; }
        }

        private string entityName;
        public string EntityName
        {
            get { return entityName; }
            set { entityName = value; }
        }

        //I've tried this unsuccessfully!
        public List<TEntity> GetList<TEntity>(string _name)
        {
            IEnumerable<TEntity> enumerable = (IEnumerable<TEntity>)(typeof(CareDAL.NDNQI.DST_ABCEntities).GetProperty(_name).GetValue(DAL, null));
            return enumerable.ToList();
        }

        protected void Page_Load(object sender, EventArgs e)
        {

            ddlResponse.DataTextField = "PrimaryReason";
            ddlResponse.DataValueField = "ReasonId";
            ddlResponse.DataSource = DAL.PrimaryReasons.ToList();
            ddlResponse.DataSource = GetList(entityName); //Obvious error, but not sure how to handle this!
            ddlResponse.DataBind();
        }
    }
}
使用系统;
使用System.Collections.Generic;
使用System.Data.Entity;
使用System.Linq;
使用System.Web;
使用System.Web.UI;
使用System.Web.UI.WebControl;
名称空间ABC.ABC.Controls
{
公共部分类ABCQuestionSingle:System.Web.UI.UserControl
{
CareDAL.ABC.Entities DAL=新的CareDAL.ABC.Entities();
私有字符串数据文本字段;
公共字符串数据文本字段
{
获取{return dataTextField;}
设置{dataTextField=value;}
}
私有字符串dataValueField;
公共字符串DataValueField
{
获取{return dataValueField;}
设置{dataValueField=value;}
}
私有字符串entityName;
公共字符串EntityName
{
获取{return entityName;}
设置{entityName=value;}
}
//我试过了,但没有成功!
公共列表GetList(字符串_名称)
{
IEnumerable enumerable=(IEnumerable)(typeof(CareDAL.NDNQI.DST_ABCEntities).GetProperty(_name).GetValue(DAL,null));
返回可枚举的.ToList();
}
受保护的无效页面加载(对象发送方、事件参数e)
{
ddlResponse.DataTextField=“PrimaryReason”;
ddlResponse.DataValueField=“ReasonId”;
ddlResponse.DataSource=DAL.primaryReasions.ToList();
ddlResponse.DataSource=GetList(entityName);//明显错误,但不确定如何处理!
ddlResponse.DataBind();
}
}
}
提前感谢您的建议

public分部类ABCQuestionSingle:System.Web.UI.UserControl
public partial class ABCQuestionSingle : System.Web.UI.UserControl
{
    public void LoadDropDown<T>(string valueProperty, string textProperty)
        where T : class
    {
        ddlResponse.DataTextField = textProperty;
        ddlResponse.DataValueField = valueProperty;
        ddlResponse.DataSource = new CareDAL.ABC.Entities().Set<T>();
        ddlResponse.DataBind();
    }
}
{ 公共void加载下拉列表(string valueProperty、string textProperty) T:在哪里上课 { ddlResponse.DataTextField=textProperty; ddlResponse.DataValueField=valueProperty; ddlResponse.DataSource=new CareDAL.ABC.Entities().Set(); ddlResponse.DataBind(); } }
然后,您可以从调用页面的加载事件(或任何其他事件)调用此方法。

公共部分类ABCQuestionSingle:System.Web.UI.UserControl
{
公共void加载下拉列表(string valueProperty、string textProperty)
T:在哪里上课
{
ddlResponse.DataTextField=textProperty;
ddlResponse.DataValueField=valueProperty;
ddlResponse.DataSource=new CareDAL.ABC.Entities().Set();
ddlResponse.DataBind();
}
}

然后,您可以从调用页面的加载事件(或任何其他事件)调用此方法。

工作正常。那会节省我很多时间。如果可以的话,我会请你喝一杯!工作得很好。那会节省我很多时间。如果可以的话,我会请你喝一杯!