Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Новый топик    Ответить
 timestamp & Entity Framework  [new]
Varcom
Member

Откуда:
Сообщений: 307
Присваиваю некоторой переменной значение timestamp-колонки в таблице. Как потом из таблицы выбрать все записи, значение timestamp-колонки которой будет больше значения переменной?

byte[] var = (
  from row in ModelContainer.MyTable 
  select row.MyColumn
).Firsrt();

var rows = (
  from row in dbEntities.MyTable
  where row.MyColumn>var // ????????
  select row
).ToArray();
1 авг 11, 19:55    [11055428]     Ответить | Цитировать Сообщить модератору
 Re: timestamp & Entity Framework  [new]
няка
Member

Откуда: из норы
Сообщений: 493
Varcom,

join?
2 авг 11, 10:52    [11057070]     Ответить | Цитировать Сообщить модератору
 Re: timestamp & Entity Framework  [new]
Varcom
Member

Откуда:
Сообщений: 307
няка
Varcom,

join?
Это как?
2 авг 11, 18:10    [11060844]     Ответить | Цитировать Сообщить модератору
 Re: timestamp & Entity Framework  [new]
Верблюд
Member

Откуда: Яженичеловек!!!
Сообщений: 65007
Varcom
Как потом из таблицы выбрать все записи, значение timestamp-колонки которой будет больше значения переменной?


ни как. var - зарезервированное слово.
2 авг 11, 18:20    [11060889]     Ответить | Цитировать Сообщить модератору
 Re: timestamp & Entity Framework  [new]
Верблюд
Member

Откуда: Яженичеловек!!!
Сообщений: 65007
как-то так

byte[] ts = ModelContainer.MyTable.First().MyColumn;
var rows = dbEntities.MyTable.Where(x=>x.MyColumn > ts).ToArray();
2 авг 11, 18:22    [11060898]     Ответить | Цитировать Сообщить модератору
 Re: timestamp & Entity Framework  [new]
Varcom
Member

Откуда:
Сообщений: 307
Верблюд
ни как. var - зарезервированное слово.

как-то так

byte[] ts = ModelContainer.MyTable.First().MyColumn;
var rows = dbEntities.MyTable.Where(x=>x.MyColumn > ts).ToArray();
Проблема не в названии переменной, а в том, что поле timestamp маппируется в модель данных EF как массив байт. А для байтовых массивов нет процедуры сравнения. Соответственно, нет возможности сделать сравнение в Linq-выражениях. Соответственно, Where(x=>x.MyColumn > ts) не прокатит.
2 авг 11, 19:01    [11061064]     Ответить | Цитировать Сообщить модератору
 Re: timestamp & Entity Framework  [new]
Верблюд
Member

Откуда: Яженичеловек!!!
Сообщений: 65007
Varcom
поле timestamp маппируется в модель данных EF как массив байт.


что-то даже как-то не заметил Int64 правильный тип для timestamp
2 авг 11, 21:33    [11061430]     Ответить | Цитировать Сообщить модератору
 Re: timestamp & Entity Framework  [new]
Верблюд
Member

Откуда: Яженичеловек!!!
Сообщений: 65007
Varcom
нет возможности сделать сравнение в Linq-выражениях.


    public static class TimestampComparer
    {
        public static int Compare(this byte[] b1, byte[] b2)
        {
            throw new NotImplementedException();
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Database1Entities1 context = new Database1Entities1();

            var ts = context.TestTables.OrderBy(x => x.timestamp).First().timestamp;

            var q = context.TestTables.Where(x=> x.timestamp.Compare(ts) > 0);

        }
    }
3 авг 11, 01:26    [11062150]     Ответить | Цитировать Сообщить модератору
 Re: timestamp & Entity Framework  [new]
Верблюд
Member

Откуда: Яженичеловек!!!
Сообщений: 65007
Да, в догонку к коду - внутри метода Compare писать ничего не нужно
3 авг 11, 01:34    [11062158]     Ответить | Цитировать Сообщить модератору
 Re: timestamp & Entity Framework  [new]
Верблюд
Member

Откуда: Яженичеловек!!!
Сообщений: 65007
Верблюд
Да, в догонку к коду - внутри метода Compare писать ничего не нужно


Точней, можно писать что угодно - в данном случае он вызван не будет.
3 авг 11, 01:35    [11062162]     Ответить | Цитировать Сообщить модератору
 Re: timestamp & Entity Framework  [new]
няка
Member

Откуда: из норы
Сообщений: 493
Varcom
няка
Varcom,

join?
Это как?


я просто невнимательно читал задачу, сори
12 авг 11, 21:33    [11112916]     Ответить | Цитировать Сообщить модератору
Все форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM Ответить