0
我的問題圍繞着最佳實踐演變而來。最佳實踐 - ASP.NET/Entity Framework
現在即時使用實體框架與ASP.NET,並希望它的頂級性能。
在添加一個記錄之前,您通常會在數據庫中檢查現有記錄,還是依賴拋出的異常或者甚至預期給定的參數是相關的和活動的。
例子:(ASP.NET與Identity)
public ResultWrapper AddUserToRole(string user, bool userId, string role, bool roleId)
{
ApplicationUser appUser = FindUser(user, userId);
ApplicationRole appRole = FindRole(role, roleId);
if (appUser == null || appRole == null)
return new ResultWrapper(false, "Unknown user or role");
else
{
IdentityResult result = userManager.AddToRole(appUser.Id, appRole.Name);
db.SaveChanges(); // AutoSaveChanges is false, so update.
return new ResultWrapper(result.Succeeded, result.Errors);
}
}
這個問題可能更適合[程序員](http://programmers.stackexchange.com/)。 –
我不確定爲什麼你擔心將用戶添加到角色的最佳性能......這不是一個巨大的阻止操作。 –
如果您想要最佳性能,那麼不要依賴拋出異常......永遠。例外情況在性能方面被歸類爲「昂貴」,不應在正常的邏輯/程序流程中使用。如果您要添加新用戶,請先執行檢查。如果我是你,我會創建你的應用程序,然後解決任何性能問題。 (但請始終記住性能,這是你越多越好的方案) –