私はEntity Frameworkでマッピングされたデータベースを持っています.
渡すパラメータに基づいてアイテムのリストを取得するための汎用メソッドを実装する必要があります。
getGenericList("product"); // returns the list of products
getGenericList("customer"); // returns the list of customers
を動的に取得する必要がありますdbSet
。私の方法は次のように実装されています:
public static List<object> getGenericList(string entityType)
{
List<object> myDynamicList = new List<object>();
using (cduContext db = new cduContext())
{
DbSet dbSet = db.getDBSet(entityType);
var myDynamicList = dbSet.Select(p => p).ToList();
}
return new List<object>();
}
mydbSets
は、最初に EF コードによって自動生成されます。
public DbSet<Product> Products { get; set; }
public DbSet<Custommer> Custommers { get; set; }
私のgetDBSet(entityType)
メソッドは、次のようにコンテキストで実装されています。
public DbSet<T> getDBSet<T>(string entityName) where T : class
{
switch (entityName)
{
case "product":
return Products;
case "custommer":
return Custommers;
次に、このエラーが発生しました:
タイプ 'System.Data.Entity.DbSet' を 'System.Data.Entity.DbSet' に暗黙的に変換することはできません
何かアイデアをください!?
注意: の方法は OK ではありませんSet()
。dbContext
タイプは明示的に指定する必要があります...