A.csproj と B.csproj という 2 つのデータ アクセス クラス ライブラリがあります。それぞれにedmxがあります。2 つの edmx には、2 つの異なるデータベースからのエンティティが含まれています。A.csproj は B.DLL を参照します。A.csproj のクラス A は、LINQ を使用して A.edmx のエンティティをクエリし、IEnumerable<dtoResultA> を返します。B.csproj のクラス B が B.edmx に変換され、IEnumerable<dtoResultB> が返されます。
B.csproj で定義された getUserBenefitDetail() を classA.getUserStuff() からの LINQ クエリの一部として直接呼び出すにはどうすればよいですか?
A.csproj
public class dtoResultA{
int userID {get;set;}
IEnumerable<userPermissions> permissions{get;set;}
IEnumerable<dtoResultB> benefits{get;set;}
}
public class A{
public IEnumerable<dtoResultA> getUserStuff(int UserId){
var result = from p in contextA.userPermission.Where(x=>x.userId = UserId)
let b = getUserBenefitDetail(UserId) /*<--not sure how */
select new dtoResultA{
userID = c.userId,
permissions = p,
benefits = b
}
}
}
B.csproj
public class B{
public IEnumerable<dtoResultB> getUserBenefitDetail(int UserId){
var result = from b in contextB.benefits.Where(x=>x.userId = UserId)
select new dtoResultB{
userID = c.userId,
benefits = b,
beneficiaries = b.beneficiaries
}
}
}