Сохранение данных для связанных таблиц с внешним ключом - Entity Framework - PullRequest
0 голосов
/ 16 января 2010

У меня проблемы с сохранением сущностей в базе данных с помощью EntityFramework. У меня есть таблицы, игрок и адрес. Таблица Player имеет ссылку на таблицу Address посредством отношения внешнего ключа AddressId. Поэтому Player.AddressId указывает на Address.AddressId.

Теперь при вызове следующего кода я получаю сообщение об ошибке: «Зависимое свойство в ReferentialConstraint отображается в столбец, созданный хранилищем»

public override int CreatePlayer(BizObjects.Player player)
{
    var entity = new EntityFramework.Player();

    entity.PlayerId = player.PlayerId;
    entity.FirstName = player.FirstName;
    entity.LastName = player.LastName;
    entity.Gender = player.Gender;
    entity.BirthDate = player.BirthDate;
    entity.DisplayAge = player.DisplayAge;
    entity.Level = player.Level;
    entity.PlayingHand = player.PlayingHand;
    entity.BackhandType = player.BackhandType;
    entity.PlayingStyle = player.PlayingStyle;
    entity.Description = player.Description;
    entity.UserId = player.UserId;
    entity.Address = new Address();
    entity.Address.AddressId = player.Address.AddressId;
    entity.Address.Line1 = player.Address.Line1;
    entity.Address.Line2 = player.Address.Line2;
    entity.Address.City = player.Address.City;
    entity.Address.State = player.Address.State;
    entity.Address.ZipCode = player.Address.ZipCode;

    _entities.AddToPlayer(entity);
    _entities.SaveChanges();

    return entity.PlayerId;
}

Я новичок в использовании EF. Любые указатели приветствуются.

Ответы [ 2 ]

0 голосов
/ 25 ноября 2010

У меня была похожая проблема, и я установил «Спецификация идентичности» на «Нет». После обновления моего EDMX проблема исчезла.

0 голосов
/ 16 января 2010

Вы используете EF 1.0?

Сопоставление свойств сущности со столбцами FK в EF 1.0 не поддерживается, необходимо использовать отношения и свойства навигации.

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