WCF DataServices: обновление связанного объекта по внешнему ключу - PullRequest
1 голос
/ 24 августа 2011

Я использую службы данных WCF CTP2 + EF4.1 в моем проекте.

Я хочу обновить объект сущности, используя службу данных wcf. Вот мой объект:

    public partial class Company
{
    [Required]
    public virtual User Manager { get; set; }

    public Guid Manager_Id { get; set; }
}

Затем я передаю объект своей компании на сервер, где хранится служба wcf, свойство Manager равно NULL, но его внешний ключ Manager_Id назначен реальному объекту менеджера.

В моей модели данных ef я определил внешний ключ:

 modelBuilder.Entity<Company>().HasRequired(t => t.Manager)
     .WithMany(t => t.Companies)
     .HasForeignKey(d => d.Manager_Id);

Проблема в том, что он по-прежнему выдает исключение, что объект не может быть сохранен из-за ошибки проверки (требуется свойство менеджера). Итак, мой вопрос, как я могу сказать wcf сохранить требуемое свойство, используя его внешний ключ, если требуемые объекты равны нулю?

Обходной путь

modelBuilder.Entity<Company>().Property(x => x.Manager_Id).HasColumnName("Manager_Id");

также не дает никакого эффекта.

1 Ответ

0 голосов
/ 24 августа 2011

Я нашел обходное решение.Просто отключил проверку на стороне службы wcf.

 protected override MyDataContext CreateDataSource()
    {
        _mdc = new MyDataContext(@"blablalba") { TablePrefix = "vcrm_" };
        _mdc.Configuration.ValidateOnSaveEnabled = false;
        return _mdc;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...