Я использую EF 6.1.3 и получил эту ошибку.Entity Framework Fluent API: объект типа 'IndexAttribute' не может быть сериализован с помощью IndexAnnotationSerializer.
«Объект типа« IndexAttribute »не может быть сериализован с помощью IndexAnnotationSerializer. Объекты« IndexAnnotation »могут быть сериализованы».
Вот один из конфигурационных файлов
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity.Infrastructure.Annotations;
using System.Data.Entity.ModelConfiguration;
using System.Linq;
using System.Web;
using MasterDetails.Models;
namespace MasterDetails.DataLayer
{
public class InventoryItemConfiguration : EntityTypeConfiguration<InventoryItem>
{
public InventoryItemConfiguration()
{
Property(ii => ii.InventoryItemCode)
.HasMaxLength(15)
.IsRequired()
.HasColumnAnnotation("Index", new IndexAnnotation(new IndexAttribute("AK_InventoryItem_InventoryItemCode") { IsUnique = true }));
Property(ii => ii.InventoryItemName)
.HasMaxLength(80)
.IsRequired()
.HasColumnAnnotation("Index", new IndexAttribute("AK_InventoryItem_InventoryItemName") { IsUnique = true });
Property(ii => ii.UnitPrice)
.HasPrecision(18, 2);
}
}
}
.IsRequired нормально , :) Вы можете использовать его. – InsParbo