Передача ObjectContext EF 4.0 - PullRequest
       37

Передача ObjectContext EF 4.0

1 голос
/ 19 апреля 2011

У меня есть два класса Queries и ContactRepository.

    public static class Queries
    {
        public static Contact GetContactByName(CEntities context, string name)
        {
            return (from Contact c in context.Contacts
                    where c.Name == name
                    select c).FirstOrDefault();
        }
    }

    public class ContactRepository
    {
        private CEntities _dbContext;

        public ContactRepository()
        {
            _dbContext = new CEntities();
        }

        public void CreateContactAddress(string contactName, string address, string city, string state, string zip)
        {
            int contactId;
            ContactAddress ca = new ContactAddress();

            contactId = Queries.GetContactByName(_dbContext, contactName).Id;

            ca.ContactId = contactId;
            ca.Address = address
            ca.City = city;
            ca.State = state;
            ca.Zip = zip;

            _dbContext.ContactAddresses.AddObject(ca);
            _dbContext.SaveChanges();
        }
    }

Когда я вызываю CreateContactAddress (), метод SaveChanges () вылетает со следующей ошибкой:

Невозможно определить действительный заказ для зависимых операций. зависимости может существовать из-за внешнего ключа ограничения, требования модели или сгенерированные в магазине значения.

Я могу переместить запрос LINQ в сам метод CreateContactAddress (), и все работает отлично. Кто-нибудь может объяснить, что происходит?

...