«Значения по умолчанию не поддерживаются» при работе с Entity Framework Code First и SQLServer Compact 4.0 - PullRequest
3 голосов
/ 13 июля 2011

Я пытаюсь протестировать xunit и TestDriven.Net для базы данных с использованием SQL CE4.Вот определение сущности:

    public class Product 
    {
        private readonly ICollection<Inventory> inventories = new List<Inventory>();
        private int id;

        public virtual int Id { get; set; }        

        //public virtual string ProductName { get; set; }

        public virtual ICollection<Inventory> Inventories 
        {
            get { return inventories; }
        }
    }

    public class ProductConfiguration : EntityTypeConfiguration<Product>
    {
        public ProductConfiguration()
        {
           HasKey(p => p.Id); //Id column of the product is an Identity column

           Property(p => p.Id);
        }
    }

А вот и метод теста:

    [Fact]
    public void WhenProductAddedItShouldPersist()
    {
        var product= ObjectMother.Single<Product>();
        productRepository.Add(product);
        unitOfWork.Commit();
        Assert.NotNull(productRepository.One(product.Id));
    }

XUnit передает метод, в то время как TestDriven дает сбой с сообщением - 'System.NotSupportedException: значения по умолчанию неподдерживается '.

Удивительно, но если я добавлю другое свойство к объекту (например, ProductName), TestDriven также пройдет.Может ли кто-нибудь дать мне понять, почему это происходит?

1 Ответ

4 голосов
/ 04 февраля 2012

Я получаю ту же ошибку и при поиске обнаружил: http://social.msdn.microsoft.com/Forums/en/adodotnetentityframework/thread/583c7839-22a4-460e-8665-3e5e3998a0d5

Похоже, это известная ошибка.

...