C# 在实体数据框架的方法中使用泛型
我想创建一个方法,我可以将某些通用信息传递给它,但似乎无法确定在向其中传递实体框架表时使用什么。这里有一个愚蠢的例子来演示不使用泛型,但我们想编写一个泛型方法,我们可以将任何实体数据框架表类型传递到其中 例如C# 在实体数据框架的方法中使用泛型,c#,generics,C#,Generics,我想创建一个方法,我可以将某些通用信息传递给它,但似乎无法确定在向其中传递实体框架表时使用什么。这里有一个愚蠢的例子来演示不使用泛型,但我们想编写一个泛型方法,我们可以将任何实体数据框架表类型传递到其中 例如 公共无效无效无效(可观察收款账户) { foreach(账户中的账户a) { 系统.诊断.调试.写线(a.说明); } } 任何帮助都将不胜感激 谢谢 James.按EF表类型,您是指DbSet 您使用的是POCO实体吗?不,在本例中,这些类型直接来自上下文。这没有意义。我假设您有POC
公共无效无效无效(可观察收款账户)
{
foreach(账户中的账户a)
{
系统.诊断.调试.写线(a.说明);
}
}
任何帮助都将不胜感激
谢谢
James.按EF表类型,您是指
DbSet
您使用的是POCO实体吗?不,在本例中,这些类型直接来自上下文。这没有意义。我假设您有POCO实体,因为微软不再推荐STE。考虑到这一点,为了创建一个通用方法来处理任何类型的实体,我建议让您的实体类实现一个公共接口。类似于
IEntity
,那么您可以只让函数签名public void notusable(observedcollection entities){…}
或者,让它成为genericpublic void notusable(observedcollection entities),其中T:IEntity
不确定-也许我确定。如果我可以用它来代替我的示例中的“Account”类型,那可能就是它了-谢谢你。你使用的是DbContext
?莫霍-是的,我们是。我们允许VS直接从现有数据库创建上下文。然后,我们从中引用各种EF实体。
public void NotUseful(ObservableCollection<Account> account)
{
foreach (Account a in account)
{
System.Diagnostics.Debug.WriteLine(a.Description);
}
}
public void SomeMethod<T>( DbSet<T> dbSet )
{
...
}
SomeMethod( dbContextInstance.Accounts );