Мой ответ будет таким: «метод» не должен существовать. По крайней мере, не так, как сейчас. Получение имени CurrentPrincipal
может быть функцией вашего домена (доменной службы) или отдельной службы приложений, а не DAL.
Но EfContext
не должен быть видимым для Домена, тем более для пользовательского интерфейса. Обычной практикой является инкапсуляция в хранилище.
Таким образом, ваш домен / служба приложений могут «запросить» у вашего хранилища имя User
по имени.
public User GetUser(string name)
{
using (EfContext db = new EfContext())
....
}