0
我有兩個應用程序。其中一個使用XAF
(devexpress框架),第二個使用asp.net mvc。 我的商務班是在XAF
應用程序中創建的。兩者使用相同的數據庫 我在XAF類:多態性和LinqToSql
public class BaseClass:XPObject
{
// some fields
}
// This attribute mean that all fields will be stored in BaseClass table
[MapInheritance(InheritanceType.ParentTable]
public class Class1:BaseClass
{
// some fields
}
// This attribute mean that all fields will be stored in BaseClass table
[MapInheritance(InheritanceType.ParentTable]
public class Class2:BaseClass
{
// some fields
}
在DB,我們有一個表:BaseClass
與領域從BaseClass
,Class1
。
有這樣一個時刻:XAF添加了自己的域名爲ObjectType
(這是XAF自動創建的XPObjectType
表的FK)。 在結果,我們有一個DB:
BaseClass:
ID some_fields_from_BaseClass some_fields_from_Class1 ObjectType
1 some_values some_values 1
XPObjectType:
ID TypeName AssemblyName
1 TestApp.Module.BO.Class1 TestApp.Module
現在,我在ASP.NET MVC應用程序中寫道:
Database.BaseClasses.Where(...some predicate...).ToList();
該查詢返回我收集的BaseClass
。但是,我希望該查詢返回派生類型(例如,Class1
或Class2
或Class 3
)。
我該怎麼做?
PS。我不能使用IsDiscriminator
屬性,因爲它的FK,我不想重複對象(在asp.net mvc應用程序中Class1
,class2
)。
嗯,這個代碼將返回基類永遠,但我想我的查詢返回派生類型 – user348173 2012-02-27 12:06:39
不,你應該調用這個函數,如:'VAR數據=的GetData(FN );' –
2012-02-27 12:11:46