Назначение FK при создании модели приводит к тому, что «зависимое свойство в ReferentialConstraint отображается в столбец, созданный магазином». - PullRequest
0 голосов
/ 13 июля 2011

У меня есть этот код и следующая модель EF:

enter image description here

 var modelToAdd = new Package
                {
                    PackageID = model.LearningPackageID,   // not auto-generated PK!
                    Name = model.Name,
                    Description = model.Description,
                    DateCreated = DateTime.Now,
                    ModuleID = model.ModuleID
                };
                activityRepo.AddPackage(modelToAdd);

Это тоже не работает

var modelToAdd = new Pacakge
            {
                PackageID = model.LearningPackageID,  // not auto-generated PK!
                Name = model.Name,
                Description = model.Description,
                DateCreated = DateTime.Now


            };
// assume moduleID is defined to a valid module ID (yes, tested)
var module = entities.Modules.Where( x => x.ID == moduleID);
module.Pacakges.Add(modelToAdd);
entities.SaveChanges();

По сути, есть1: M связь между восемнадцатью модулями и пакетами.Однако, когда я пытаюсь установить ModuleID (который получается из раскрывающегося списка), в обоих случаях я получу:

A dependent property in a ReferentialConstraint is mapped to a store-generated column.

PackageID является буквенно-цифровым и не генерируется автоматически, либоэто ModuleID, так как это FK

Что мне делать?

1 Ответ

2 голосов
/ 13 июля 2011

Убедитесь, что для концептуального свойства Package.ModuleID и столбца хранилища (я полагаю, вы используете модель Entart Entity, чтобы вы могли проверить это в Model Explorer-> Model.Store) для StoreGeneratedPattern задано значение None. Свойство ссылочного ограничения не-Entity Key не может быть ни Identity, ни Computed.

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