Справка по LINQ to SQL - PullRequest
       3

Справка по LINQ to SQL

0 голосов
/ 28 октября 2010

У меня есть 2 объекта -Предложить и поделиться. Share хранит предложения, которыми поделились пользователи.

class Offer
    int IDOffer;
    bool Shared;
    (other properties)

class Share
    int IDOffer;
    int IDUser;

где Offer.IDOffer = Share.IDOffer, 1-к-1 (пользователи могут делиться предложением только один раз или не делать это вообще).

Я расширил предложение с помощью свойства Shared - оно не в базе данных, а в сущности.

Теперь мне нужно выбрать «Предложения» и установить «Предложения». Общий доступ на основе сущности «Поделиться».

Не могли бы вы указать мне правильный путь? Я ценю вашу помощь.

1 Ответ

1 голос
/ 29 октября 2010

Я не верю, что такого рода свойства хорошо поддерживаются в LINQ to SQL.Кажется, вы должны написать что-то вроде этого:

void partial OnLoaded()
{
    this.Shared = !this.Share == null;
}

Но я думаю, что это не сработает, потому что метод OnLoaded может выполняться до того, как ваша сущность действительно будет загружена.Я рекомендую просто сравнивать Share с null всякий раз, когда вам нужна такая идея.Как это:

//Select all offers that are shared
var result  = from offer in Offers
              where !offer.share == null
              select offer;

Редактировать: Написал первую версию, забыв, что это один-к-одному.Отредактировано для работы с EntityRef с.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...