我有这个方法,我可能会传递一个 DbContext 或者我可能不会:
public static List<ClaimService> GetServicesForAccountType(DatabaseContainer db,Guid claimId, Guid accountTypeId)
{
bool dispose = (db == null ? true :false);
try
{
db = (db == null ? new DatabaseContainer(): db);
return db.Database.SqlQuery<ClaimService>("SELECT * FROM dbo.ClaimService WHERE ClaimId = '@p1' AND AccountTypeId = '@p2'", new System.Data.SqlClient.SqlParameter("p1", claimId), new System.Data.SqlClient.SqlParameter("p2", accountTypeId)).ToList();
}
finally
{
if (dispose) { db.Dispose(); }
}
}
我正在执行 2 个三元操作,1 个确定是否应该进行 dispose,另一个确定是否需要创建新的 dbContext。
问题:两个三元操作的条件完全相同(db == null)
,有没有办法可以在一个操作中设置我的dispose
和我的db
变量?