1
我有三個結構相同的表。我正在使用實體框架。我想創建只接受三種類型的泛型函數。但我不能在類型參數中給出多個類型。有什麼辦法嗎?或者我只想添加基類,如何創建基類,因爲它們是從實體生成的?實體框架 - 如何爲實體類創建基類?
我有三個結構相同的表。我正在使用實體框架。我想創建只接受三種類型的泛型函數。但我不能在類型參數中給出多個類型。有什麼辦法嗎?或者我只想添加基類,如何創建基類,因爲它們是從實體生成的?實體框架 - 如何爲實體類創建基類?
最簡單的方法可能不是使用基類,而是使用接口。讓我們假設共同財產是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);
}
究竟什麼是可能取決於如何生成實體類,和你想在你的程序做什麼。如果你不知道如何適應你的情況,你可以提供更多關於你想要做什麼的信息嗎?
它工作正常。謝謝。我想發送一個類對象列表。怎麼做? – user1548293 2012-07-24 12:05:27
如果你的對象都有相同的類型,你可以使用'public void DoSomething(List entities)where ...',否則你可以使用'public void DoSomething(List entities)' –
hvd
2012-07-24 12:24:19
Thanks !. 。 有用。 – user1548293 2012-07-24 13:18:01