我有三个结构相同的表。我正在使用实体框架。我想创建只接受这三种类类型的通用函数。但我不能在类型参数中提供一种以上的类型。有什么办法吗?或者我只想添加基类,如何创建基类,因为它们是从实体生成的?
问问题
1673 次
1 回答
5
最简单的方法可能是不使用基类,而是使用接口。假设公共属性是string Name
,那么您可以
interface IEntityWithName
{
string Name { get; set; }
}
// make sure this is in the same namespace and has the same name as the generated class
partial class YourEntity1 : IEntityWithName
{
}
// ditto
partial class YourEntity2 : IEntityWithName
{
}
public void DoSomething<T>(T entity)
// if you have no common base class
where entity : class, IEntityWithName
// or if you do have a common base class
where entity : EntityObject, IEntityWithName
{
MessageBox.Show(entity.Name);
}
究竟什么是可能的取决于你的实体类是如何生成的,以及你想在你的过程中做什么。如果您无法弄清楚如何使其适应您的情况,您能否提供有关您正在尝试做什么的更多信息?
于 2012-07-24T10:16:47.833 回答