Код на контекстния файл на моите обекти:
public partial class MyDbContext : DbContext
{
//dbset 1
public DbSet<Customer> Customers { get; set; }
//dbset 2
public DbSet<Order> Orders { get; set; }
}
Class Shipments има метод GetCustomerName
public class Shipments
{
public string GetName(object caller, System.Data.Entity.DbSet objectContext)
{
//This one passes.
IQueryable<Customer> myCustomer = from p in objectContext
select p where p.Id=1; //get customer name
//This one fails
IQueryable<caller.GetType()> myCustomer = from p in objectContext
select p where p.Id=1; //get customer name
}
}
Въпрос: Бих искал да премахна твърдото кодиране на клас Customer там, вместо това да извикам този метод, като предам името на класа като параметър?
Как мога да приложа това? В този случай caller.GetType().Name
не работи за мен.
GetName(Order, mydbContext);
GetName(Customer, mydbContext);
И двете трябва да работят с един и същ код (опитвайки се да го направя общ, не съм сигурен как да го направя общ). Всяка помощ ще бъде страхотна. Благодаря.
Id
иName
свойства. Дори тогава ще ви е необходим превключвател или генерични средства, за да определите кое свойство от вашия контекст да поискате. - person D Stanley   schedule 18.11.2014