SqlQuery<Base>(new Child()) - какая таблица будет обновлятс?
От: Jack128  
Дата: 25.08.11 10:24
Оценка:
[TableName("BaseTable")]
class Base
{
  public int ID {get;set;}
 public string PropBase{get;set;}
}


[TableName("ChildTable")] 
class Child
{
  public string 
}

new SqlQuery<Base>(new Child());


какая по логике таблица должна обновляться??

Поясню, зачем нужна такая странная иерархия:

BaseTable — это обычная таблица, а вот ChildTable — это редактируемое view, которое по сути, join'ит BaseTable и некую ChildDetailsTable, в которой хранятся специвические для Child данные.
Re: SqlQuery<Base>(new Child()) - какая таблица будет обновл
От: ili Россия  
Дата: 28.08.11 09:07
Оценка:
Здравствуйте, Jack128, Вы писали:

J>какая по логике таблица должна обновляться??


а это смотря какая логика

но вообще в примере начнет обновляться дочерняя таблица....
а вот если вы сделаете DeleteByKey — то уже базовая.

наблюдается такая закономерность — где есть явная возможность получить тип объекта, там он получается, а вот где ее нет, там берется из генерик аргумента.

я бы на вашем месте не мучался и сделал свой SqlQuery<T> с блэкджеком и прочим нужным вам поведением.
Re[2]: SqlQuery<Base>(new Child()) - какая таблица будет обн
От: Jack128  
Дата: 28.08.11 12:15
Оценка:
Здравствуйте, ili, Вы писали:

ili>Здравствуйте, Jack128, Вы писали:


J>>какая по логике таблица должна обновляться??


ili>а это смотря какая логика


ili>но вообще в примере начнет обновляться дочерняя таблица....

ili>а вот если вы сделаете DeleteByKey — то уже базовая.
Вот в том то и дело, ИМХО — это касяк.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.