Использование атрибута flags на уровне доступа к данным для генерации побитового SQL-запросаC#

Место общения программистов C#
Ответить
Anonymous
 Использование атрибута flags на уровне доступа к данным для генерации побитового SQL-запроса

Сообщение Anonymous »

У меня есть функция на уровне доступа к данным. Эта функция принимает перечисление (которое имеет атрибут [Flags]) в качестве единственного параметра.

Код: Выделить всё

[Flags]
public enum ItemTags { Browsable = 2, InMenu = 4 }

public List GetAllItems(ItemTags flags)
{
// Here I should create the SQL bitwise query.
}
В этой функции мне нужно создать побитовый SQL-запрос, что-то вроде:

Код: Выделить всё

select * from tableName where columnName & 2 = 2 and columnName & 4 = 4
И на своем бизнес-уровне я хочу использовать эту функцию. Но существует множество возможных способов использования этих тегов и флагов. Некоторые из этих функций могут быть:

Код: Выделить всё

public List GetItemsOfMenu()
{
return repository.GetAllItems(ItemTags.InMenu);
}

public List GetBrowsableItems()
{
return repository.GetAllItems(ItemTags.Browsable);
}

public List GetBrowsableMenuItems()
{
return repository.GetAllItems(ItemTags.Browsable & ItemTags.InMenu);
}
Как это сделать?

Подробнее здесь: https://stackoverflow.com/questions/658 ... -sql-query
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»