Сгенерированные сервером ключи и сгенерированные сервером значения не поддерживаются SQL Server Compact

#c# #sql #wpf

#c# #sql #wpf

Вопрос:

Итак, я понимаю, что CE не поддерживает значения, генерируемые сервером — все в порядке, я предоставляю свой собственный этот код…

  public static class ExtensionMethods
    {
        public static TResult NextId<TSource, TResult>(this ObjectSet<TSource> table, Expression<Func<TSource, TResult>> selector)
        where TSource : class
        {
            TResult lastId = table.Any() ? table.Max(selector) : default(TResult);

            if (lastId is int)
                lastId = (TResult)(object)(((int)(object)lastId)   1);
            return lastId;
        }
    }


  private void AddProperty()
        {
            Property p = new Property();     

            entities.AddToProperties(new Property()
            {
            ID = entities.Properties.NextId(u => u.ID),
            AgentName = "Agent Name",
            Address = "New Property",
            AuctioneerName = "Auctioneer Name",
            SaleTitle = "Sales Title",
            DateOfAuction = null,
            ReservePrice = null,
            CurrentBid = null,
            PreviousBid = null,
            });
            entities.SaveChanges();
            BindData();
        }
  

Единственная проблема заключается в том, что это не устраняет проблему, когда я думаю, что это должно. У меня есть 2 таблицы. Один называется Property, другой называется Image . Для идентификатора обоих задается значение primary key, unique yes, а identity — значение false. Я не вижу, что я делаю неправильно, чтобы получить эту ошибку, все остальные поля имеют значение null, но я не думаю, что это имеет какое-либо отношение к этой ошибке…

Комментарии:

1. Можете ли вы опубликовать сообщение об ошибке?

2. Сгенерированные сервером ключи и сгенерированные сервером значения не поддерживаются SQL Server Compact

Ответ №1:

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