Во время создания модели обнаружены ошибки проверки

One or more validation errors were detected during model generation:

SportsStore.Domain.Concrete.shop_Products: : EntityType ‘shop_Products’ has no key defined. Define the key for this EntityType.

Products: EntityType: EntitySet ‘Products’ is based on type ‘shop_Products’ that has no keys defined.

 public ViewResult Index()
    {

        ProductsListViewModel viewModel = new ProductsListViewModel
        {
            Products = repository.Products
                .Where(p => p.CategoryId == 100)
                .OrderByDescending(p=>p.ProductID)
                .Take(5)
        };
        return View(viewModel);
    }


@foreach (var p in Model.Products)
{

<a href="">@p.ProductName</a>
}


public class shop_Products {
    public int ProductID { get; set; }
    public string ProductName { get; set; }
    public int CategoryId { get; set; }
    public Nullable<int> CategoryPropertyId { get; set; }
    public string PropertyValue { get; set; }
    public Nullable<int> ProductBrandId { get; set; }
    public Nullable<decimal> MarketPrice { get; set; }
    public decimal Price { get; set; }
    public Nullable<decimal> UserPrice { get; set; }
    public string TitleKeyword { get; set; }
    public string MetaKeyword { get; set; }
    public string MetaDescription { get; set; }
    public string PhotoName { get; set; }
    public string PhotoPath { get; set; }
    public string smallPhotos { get; set; }
    public string BigPhotos { get; set; }
    public string URL { get; set; }
    public double Discount { get; set; }
    public int Inventory { get; set; }
    public string ShortDesc { get; set; }
    public bool IsAccessories { get; set; }
    public bool IsGroup { get; set; }
    public bool IsTopService { get; set; }
    public string Accessorices { get; set; }
    public string PeopleGroup { get; set; }
    public string TopService { get; set; }
    public string Contents { get; set; }
    public string Parameter { get; set; }
    public string PackingList { get; set; }
    public string Service { get; set; }
    public string Professional { get; set; }
    public bool IsParameter { get; set; }
    public bool IsPackingList { get; set; }
    public bool IsService { get; set; }
    public bool IsProfessional { get; set; }
    public Nullable<bool> IsEnable { get; set; }
    public Nullable<bool> IsCommend { get; set; }
    public Nullable<bool> IsTop { get; set; }
    public Nullable<bool> IsBest { get; set; }
    public string ProductBrandType { get; set; }
    public string Manufacturer { get; set; }
    public string Makein { get; set; }
    public string weight { get; set; }
    public System.DateTime InputTime { get; set; }
    public Nullable<int> Sort { get; set; }
    public Nullable<int> SeeCount { get; set; }
}

I made a few of these,and works well.But these is wrong.Can anybody help me?

Ruben Steins's user avatar

Ruben Steins

2,7524 gold badges31 silver badges48 bronze badges

asked Mar 19, 2014 at 14:14

user3339775's user avatar

0

Add this namespace ref System.ComponentModel.DataAnnotations to your model and then add the [Key] annotation above your id property

Gonzalo.-'s user avatar

Gonzalo.-

12.4k5 gold badges48 silver badges80 bronze badges

answered Apr 14, 2014 at 22:32

edwich44's user avatar

namespace: using System.ComponentModel.DataAnnotations.Schema;

[Key] public int ProductID { get; set; }

answered Mar 24, 2018 at 17:55

user9542003's user avatar

you can also just rename productID to id

public int id {get; set;}

answered Mar 27, 2015 at 2:45

William Bello's user avatar

William BelloWilliam Bello

2921 gold badge3 silver badges13 bronze badges

Here is my code for this type of problem in asp.net mvc

before

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace glostars.Models
{
    public class WeeklyTagged
    {
        public int TaggedId { get; set; }          
    }
}

after

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;  //added this line
using System.Linq;
using System.Web;

namespace glostars.Models
{
    public class WeeklyTagged
    {
        [Key]                                   //and this line
        public int TaggedId { get; set; }          
    }
}

And now it works. Thank you

answered Dec 15, 2018 at 11:14

MD JULHAS HOSSAIN's user avatar

4

One or more validation errors were detected during model generation:

SportsStore.Domain.Concrete.shop_Products: : EntityType ‘shop_Products’ has no key defined. Define the key for this EntityType.

Products: EntityType: EntitySet ‘Products’ is based on type ‘shop_Products’ that has no keys defined.

 public ViewResult Index()
    {

        ProductsListViewModel viewModel = new ProductsListViewModel
        {
            Products = repository.Products
                .Where(p => p.CategoryId == 100)
                .OrderByDescending(p=>p.ProductID)
                .Take(5)
        };
        return View(viewModel);
    }


@foreach (var p in Model.Products)
{

<a href="">@p.ProductName</a>
}


public class shop_Products {
    public int ProductID { get; set; }
    public string ProductName { get; set; }
    public int CategoryId { get; set; }
    public Nullable<int> CategoryPropertyId { get; set; }
    public string PropertyValue { get; set; }
    public Nullable<int> ProductBrandId { get; set; }
    public Nullable<decimal> MarketPrice { get; set; }
    public decimal Price { get; set; }
    public Nullable<decimal> UserPrice { get; set; }
    public string TitleKeyword { get; set; }
    public string MetaKeyword { get; set; }
    public string MetaDescription { get; set; }
    public string PhotoName { get; set; }
    public string PhotoPath { get; set; }
    public string smallPhotos { get; set; }
    public string BigPhotos { get; set; }
    public string URL { get; set; }
    public double Discount { get; set; }
    public int Inventory { get; set; }
    public string ShortDesc { get; set; }
    public bool IsAccessories { get; set; }
    public bool IsGroup { get; set; }
    public bool IsTopService { get; set; }
    public string Accessorices { get; set; }
    public string PeopleGroup { get; set; }
    public string TopService { get; set; }
    public string Contents { get; set; }
    public string Parameter { get; set; }
    public string PackingList { get; set; }
    public string Service { get; set; }
    public string Professional { get; set; }
    public bool IsParameter { get; set; }
    public bool IsPackingList { get; set; }
    public bool IsService { get; set; }
    public bool IsProfessional { get; set; }
    public Nullable<bool> IsEnable { get; set; }
    public Nullable<bool> IsCommend { get; set; }
    public Nullable<bool> IsTop { get; set; }
    public Nullable<bool> IsBest { get; set; }
    public string ProductBrandType { get; set; }
    public string Manufacturer { get; set; }
    public string Makein { get; set; }
    public string weight { get; set; }
    public System.DateTime InputTime { get; set; }
    public Nullable<int> Sort { get; set; }
    public Nullable<int> SeeCount { get; set; }
}

I made a few of these,and works well.But these is wrong.Can anybody help me?

Ruben Steins's user avatar

Ruben Steins

2,7524 gold badges31 silver badges48 bronze badges

asked Mar 19, 2014 at 14:14

user3339775's user avatar

0

Add this namespace ref System.ComponentModel.DataAnnotations to your model and then add the [Key] annotation above your id property

Gonzalo.-'s user avatar

Gonzalo.-

12.4k5 gold badges48 silver badges80 bronze badges

answered Apr 14, 2014 at 22:32

edwich44's user avatar

namespace: using System.ComponentModel.DataAnnotations.Schema;

[Key] public int ProductID { get; set; }

answered Mar 24, 2018 at 17:55

user9542003's user avatar

you can also just rename productID to id

public int id {get; set;}

answered Mar 27, 2015 at 2:45

William Bello's user avatar

William BelloWilliam Bello

2921 gold badge3 silver badges13 bronze badges

Here is my code for this type of problem in asp.net mvc

before

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace glostars.Models
{
    public class WeeklyTagged
    {
        public int TaggedId { get; set; }          
    }
}

after

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;  //added this line
using System.Linq;
using System.Web;

namespace glostars.Models
{
    public class WeeklyTagged
    {
        [Key]                                   //and this line
        public int TaggedId { get; set; }          
    }
}

And now it works. Thank you

answered Dec 15, 2018 at 11:14

MD JULHAS HOSSAIN's user avatar

4

Я использую Sql 2008 r2 и Visual Studio 2010 и EF 4.4. И я получаю эту ошибку, выполняя код дольше. Кодекс должен объяснять отношения базы данных.

Во время создания модели были обнаружены одна или несколько ошибок валидации:
tSystem.Data.Entity.Edm.EdmAssociationConstraint: : Количество свойств в зависимых и основных ролях в ограничении отношения должно быть одинаковым.

Я хочу решить это, используя аннотацию данных. Что я делаю?

‘Предложение

    Public Class Offer

        <Key(), DatabaseGenerated(DatabaseGeneratedOption.None)>
        Public Property Offer_ID As Integer
        Public Property Name As String

    End Class

‘Глава

Public Class Head

    <Key(), Column(Order:=0), DatabaseGenerated(DatabaseGeneratedOption.None)>
    Public Property Head_ID As Integer

    <ForeignKey("Offer_ID")>
    Public Property Offer As Offer

    <Key(), Column(Order:=1)>
    Public Property Offer_ID As Integer

    Public Property Name As String


End Class

‘Линия

   Public Class Line

        <Key(), Column(Order:=0), DatabaseGenerated(DatabaseGeneratedOption.None)>
        Public Property Line_ID As Integer

        <ForeignKey("Head_ID")>
        Public Property Head As Head

        <Key(), Column(Order:=1)>
        Public Property Head_ID As Integer

        <ForeignKey("Offer_ID")>
        Public Property Offer As Offer

        <Key(), Column(Order:=2)>
        Public Property Offer_ID As Integer

        Public Property Name As String

   End Class

‘Дбконтекст

    Public Class DatabaseContext
        Inherits DbContext

        Public Sub New(p_ConnectionString As String)
            MyBase.New(p_ConnectionString)
        End Sub

        Public Property Offers As DbSet(Of Offer)
        Public Property Heads As DbSet(Of Head)
        Public Property Lines As DbSet(Of Line)

    End Class

‘Создать простой пример

    Private Shared Sub CreateME()

        Dim offer As New Offer
        offer.Name = "Offer1"
        offer.Offer_ID = 1

        Dim head As New Head
        head.Head_ID = 1
        head.Name = "head1"
        head.Offer = offer
        head.Offer_ID = offer.Offer_ID

        Dim line As New Line
        line.Head = head
        line.Head_ID = head.Head_ID
        line.Line_Id = 1
        line.Name = "line1"
        line.Offer = offer
        line.Offer_ID = offer.Offer_ID

        Using context = New DatabaseContext(GetConnectionString())

            context.Offers.Add(offer)
            context.Heads.Add(head)
            context.Lines.Add(line)
            context.SaveChanges()
        End Using

    End Sub

Итак, вопрос в том, могу ли я решить это, используя аннотацию данных?

Должен ли я использовать конструктор моделей, описанный здесь:
Как исправить: количество свойств в зависимых и основных ролях в ограничении отношения должно быть одинаковым?

Пытаюсь использовать подход Code-First с EntityFramework 6.1.3. Создал модель, которая должна описывать следующее: тип File, который может содержать множество SEPropertyValue и Path.
При попытке сохранить изменения выкидывается исключение: Во время создания модели обнаружены ошибки проверки.
Root.ProjectName.DataModel.Type: : Для EntityType "Type" не определены ключи. Определите ключ для этого EntityType.
Types: EntityType: Набор EntitySet "Types" основан на типе "Type", в котором не определены ключи.

Не могу «расшифровать» это сообщение, в каком моем типе ошибка? Ключи вроде все указаны?

Модель:

namespace Root.ProjectName.DataModel {

    using System;
    using System.Data.Entity;
    using System.Linq;

    public class AggregatorContext : DbContext {

        public AggregatorContext() : base("name=AggregatorContext") { }

        public virtual DbSet<File> Files { get; set; }
        public virtual DbSet<Path> Paths { get; set; }
        public virtual DbSet<SEProperty> SEProperties { get; set; }
        public virtual DbSet<SEPropertyValue> SEPropertyValues { get; set; }
}

public class File {

    [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }

    [Required]
    public DateTimeOffset Created { get; set; }

    [Required]
    public string Path { get; set; }

    public File() {
        this.SEProperties = new HashSet<SEPropertyValue>();
        this.Paths = new HashSet<Path>();
    }

    virtual public ICollection<SEPropertyValue> SEProperties { get; set; }
    virtual public ICollection<Path> Paths { get; set; }

}

public class Path {

    [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }

    [Required]
    public string FullPath { get; set; }

    [Required]
    public DateTimeOffset ProcessingTime { get; set; }

    public Path() {
        this.Files = new HashSet<File>();
    }

    public virtual ICollection<File> Files { get; set; }
}

public class SEProperty {

    [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }

    [Required]
    public string GroupName { get; set; }

    [Required]
    public int InternalId { get; set; }

    public string Name { get; set; }

    [Required]
    public Type Type { get; set; }

    public SEProperty() {
        this.Values = new HashSet<SEPropertyValue>();
    }

    public virtual ICollection<SEPropertyValue> Values { get; set; }

}

public class SEPropertyValue {

    [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }

    public string Value { get; set; }

    public virtual File File { get; set; }
    public virtual SEProperty SEProperty { get; set; }
}

задан 31 мар 2017 в 7:26

XelaNimed's user avatar

7

Проблема в том, что Type — это не примитивный тип и он не сконфигурирован, а класс, для хранения типа и значения я бы предложил использовать строки…. и причем 2 поля, в одном определить имя типа, в другом значение… Или же если значение может быть не примитивным типом а например class или struct, то вообще использовать сериализацию….

Так же, как справедливо заметил @Bald, можно создать отдельный тип, с этими же двумя полями, но думаю это немного излишне, если оба эти поля будут обладать атрибутом Required, т.к. приведет к ненужному JOIN в запросе…

ответ дан 31 мар 2017 в 12:57

kimaman2's user avatar

kimaman2kimaman2

5382 серебряных знака10 бронзовых знаков

I am getting validation errors when using Entity Framework 6.2. The code was generated by using code-first from an existing database. The primary key and foreign key are both composite and use version. The code has been sanitized to just show the relevant parts. It looks like it is trying to swap the version and ID values. Any suggestions would be greatly appreciated.

public partial class MyParent
{
    public MyParent()
    {
        MyChild = new HashSet< MyChild >();
    }

    [Key]
    [Column(Order = 0)]
    [StringLength(50)]
    public string MyID { get; set; }

    [Key]
    [Column(Order = 1)]
    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    public int MyVersion { get; set; }
}

public partial class MyChild
{
    [Key]
    [Column(Order = 0)]
    [StringLength(50)]
    public string ChildID { get; set; }

    [Required]
    [StringLength(50)]
    [ForeignKey("MyParent) Column(Order = 1)]
    public string MyID { get; set; }

    public string NextChild { get; set;}

    [Key]
    [Column(Order = 2)]
    [ForeignKey("MyParent")]
    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    public int MyVersion { get; set; }

    public virtual MyParent MyParent { get; set; }
    public virtual ICollection<MyChild> MyChilds1 { get; set; }

    public virtual MyChild MyChild1 { get; set; }
}

public partial class MyContext : DbContext
{
    public MyContext()
        : base("name= MyContext ")
    {
    }

    public MyContext (string connectionString) : base(connectionString)
    {
    }

    public virtual DbSet<MyParent> MyParent { get; set; }
    public virtual DbSet<MyChild> myChild { get; set; }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Entity<MyParent>()
            .HasMany(e => e.MyChild)
            .WithRequired(e => e.MyParent)
            .HasForeignKey(e => new { e.MyID, e.MyVersion })
            .WillCascadeOnDelete(false);

        modelBuilder.Entity<MyChild>()
            .HasMany(e => e.MyChilds1)
            .WithOptional(e => e.MyChild1)
            .HasForeignKey(e => new { e.ChildID, e.MyVersion });
    }
}

Error:

«One or more validation errors were detected during model generation: MyParent_MyChild: : The types of all properties in the Dependent Role of a referential constraint must be the same as the corresponding property types in the Principal Role. The type of property MyVersion on entity ‘MyChild’ does not match the type of property ‘MyID’ on entity ‘MyParent’ in the referential constraint ‘MyParent_MyChild’.

MyParent_MyChild: The types of all properties in the Dependent Role of a referential constraint must be the same as the corresponding property types in the Principal Role. The type of property ‘ChildID’ on entity ‘MyChild’ does not match the type of property ‘MyVersion’ on entity ‘MyParent’ in the referential constraint ‘MyParent_MyChild’.

I have added a fix for the simple case. It was to add ForeignKey tags and adjust the column sequence. This does not work on more complex models i.e. self referencing tables (NextChild).

New Error:

$exception{«The navigation property ‘MyChild’ declared on type ‘MyChild.MyChilds1 has been configured with conflicting foreign keys.»} System.InvalidOperationException

The db code for the foreign keys is:

    [PK_MyChild] PRIMARY KEY CLUSTERED ([ChildID] ASC, [MyVersion] ASC),
    [FK_MyChild_MyParent] FOREIGN KEY ([MyID], [MyVersion]) REFERENCES [dbo].[MyParent]([MyID], [MyVersion]),
    [FK_MyChild_MyChild] FOREIGN KEY ([NextChild], [MyVersion]) REFERENCES [dbo].[MyChild] ([ChildID], [MyVersion])

I am getting validation errors when using Entity Framework 6.2. The code was generated by using code-first from an existing database. The primary key and foreign key are both composite and use version. The code has been sanitized to just show the relevant parts. It looks like it is trying to swap the version and ID values. Any suggestions would be greatly appreciated.

public partial class MyParent
{
    public MyParent()
    {
        MyChild = new HashSet< MyChild >();
    }

    [Key]
    [Column(Order = 0)]
    [StringLength(50)]
    public string MyID { get; set; }

    [Key]
    [Column(Order = 1)]
    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    public int MyVersion { get; set; }
}

public partial class MyChild
{
    [Key]
    [Column(Order = 0)]
    [StringLength(50)]
    public string ChildID { get; set; }

    [Required]
    [StringLength(50)]
    [ForeignKey("MyParent) Column(Order = 1)]
    public string MyID { get; set; }

    public string NextChild { get; set;}

    [Key]
    [Column(Order = 2)]
    [ForeignKey("MyParent")]
    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    public int MyVersion { get; set; }

    public virtual MyParent MyParent { get; set; }
    public virtual ICollection<MyChild> MyChilds1 { get; set; }

    public virtual MyChild MyChild1 { get; set; }
}

public partial class MyContext : DbContext
{
    public MyContext()
        : base("name= MyContext ")
    {
    }

    public MyContext (string connectionString) : base(connectionString)
    {
    }

    public virtual DbSet<MyParent> MyParent { get; set; }
    public virtual DbSet<MyChild> myChild { get; set; }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Entity<MyParent>()
            .HasMany(e => e.MyChild)
            .WithRequired(e => e.MyParent)
            .HasForeignKey(e => new { e.MyID, e.MyVersion })
            .WillCascadeOnDelete(false);

        modelBuilder.Entity<MyChild>()
            .HasMany(e => e.MyChilds1)
            .WithOptional(e => e.MyChild1)
            .HasForeignKey(e => new { e.ChildID, e.MyVersion });
    }
}

Error:

«One or more validation errors were detected during model generation: MyParent_MyChild: : The types of all properties in the Dependent Role of a referential constraint must be the same as the corresponding property types in the Principal Role. The type of property MyVersion on entity ‘MyChild’ does not match the type of property ‘MyID’ on entity ‘MyParent’ in the referential constraint ‘MyParent_MyChild’.

MyParent_MyChild: The types of all properties in the Dependent Role of a referential constraint must be the same as the corresponding property types in the Principal Role. The type of property ‘ChildID’ on entity ‘MyChild’ does not match the type of property ‘MyVersion’ on entity ‘MyParent’ in the referential constraint ‘MyParent_MyChild’.

I have added a fix for the simple case. It was to add ForeignKey tags and adjust the column sequence. This does not work on more complex models i.e. self referencing tables (NextChild).

New Error:

$exception{«The navigation property ‘MyChild’ declared on type ‘MyChild.MyChilds1 has been configured with conflicting foreign keys.»} System.InvalidOperationException

The db code for the foreign keys is:

    [PK_MyChild] PRIMARY KEY CLUSTERED ([ChildID] ASC, [MyVersion] ASC),
    [FK_MyChild_MyParent] FOREIGN KEY ([MyID], [MyVersion]) REFERENCES [dbo].[MyParent]([MyID], [MyVersion]),
    [FK_MyChild_MyChild] FOREIGN KEY ([NextChild], [MyVersion]) REFERENCES [dbo].[MyChild] ([ChildID], [MyVersion])

1 / 1 / 1

Регистрация: 26.05.2013

Сообщений: 22

1

Подскажите что за ошибка и как исправить

17.04.2015, 18:23. Показов 1479. Ответов 7


«Во время создания модели обнаружены ошибки проверки:rnrntSystem.Data.Entity.Edm.EdmEnti tyType: : Для EntityType «Document» не определены ключи. Определите ключ для этого EntityType.rntSystem.Data.Entity.Edm.EdmEntity Type: : Для EntityType «Podrazdy» не определены ключи. Определите ключ для этого EntityType.rntSystem.Data.Entity.Edm.EdmEntity Type: : Для EntityType «TypeDocs» не определены ключи.

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

0

picxela

3 / 3 / 1

Регистрация: 04.04.2015

Сообщений: 19

17.04.2015, 19:29

2

скорее всего в классах, на основе которых создаёте базу, нет поля-идентификатора

C#
1
 public int Id { get; set; }

0

1 / 1 / 1

Регистрация: 26.05.2013

Сообщений: 22

17.04.2015, 19:49

 [ТС]

3

есть они там, писал я

0

3 / 3 / 1

Регистрация: 04.04.2015

Сообщений: 19

17.04.2015, 20:05

4

код покажите

0

1 / 1 / 1

Регистрация: 26.05.2013

Сообщений: 22

17.04.2015, 21:23

 [ТС]

5

код модели??

0

3 / 3 / 1

Регистрация: 04.04.2015

Сообщений: 19

18.04.2015, 21:13

6

да, и app.config

1

1 / 1 / 1

Регистрация: 26.05.2013

Сообщений: 22

18.04.2015, 21:31

 [ТС]

7

я уже разобрался спасибо)

0

2 / 2 / 0

Регистрация: 26.03.2014

Сообщений: 66

06.12.2016, 05:15

8

Как ты разобрался, у меня такая же проблема!! Помоги, прошу!!!

0

IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

06.12.2016, 05:15

Помогаю со студенческими работами здесь

Ошибка 150 подскажите как исправить
create table `ВУЗ`(
`Наименование ВУЗа` varchar (20) not null primary key,
`Адрес` varchar (30)…

Подскажите в чем ошибка, и как исправить
Программа еще не полностью готова, но есть парочка ошибок, сам не разобрался, прошу вашей помощи,…

Ошибка в XML. Подскажите как исправить ситуацию
Недавно появилась вот такая ошибка (см. приложение) и не понятно что с ней делать, так как нет…

Подскажите, в чем здесь ошибка? И как ее исправить…плиз!
//Ошибка здесь!!!!
void power (ulong m, ulong &amp;s, ulong &amp;t)
{
for (t=0, s=m; s%2==0; t++)

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

8

Я так растерялся. Я работаю над созданием каскадного раскрывающегося списка и получаю странную ошибку. Я продолжаю получать следующую ошибку (она длинная) —

«Во время создания модели обнаружена одна или несколько ошибок проверки:rnrnAQB_MON.ViewModels.DeviceStatu: : EntityType ‘DeviceStatu’ не имеет определенного ключа. Определите ключ для этого EntityType.rnAQB_MON. ViewModels.SelectListItem: : EntityType ‘SelectListItem’ не имеет определенного ключа. Определите ключ для этого EntityType.rnDeviceStatus: EntityType: EntitySet ‘DeviceStatus’ основан на типе ‘DeviceStatu’, для которого не определены ключи.rnSelectListItems: EntityType: EntitySet ‘SelectListItems’ основан на типе ‘SelectListItem’, для которого не определены ключи.rn»}

У меня есть таблица Manufacturer и таблица ManufacturerModel. Мой каскадный раскрывающийся список состоит из того, что пользователь сначала выбирает производителя, а затем соответствующие параметры модели будут доступны во втором раскрывающемся списке. Однако я продолжаю получать сообщение об ошибке при попытке загрузить раскрывающийся список.

Я создал свою ViewModel — ManufacturerModelContext

public class ManufacturerModelContext : DbContext
{

    public DbSet<Manufacturer> Manufacturers { get; set; }
    public DbSet<ManufacturerModel> ManufacturerModels { get; set; }
}

И я получаю производителей и моделей с помощью

//Populate the cascading dropdowns for manufacturer and model
    ManufacturerModelContext mm = new ManufacturerModelContext();
    [HttpGet]
    public JsonResult GetManufacturers()
    {

        var manufacturer = from a in mm.Manufacturers
                           select a.Manufacturer1;

        return Json(manufacturer.ToList(), JsonRequestBehavior.AllowGet);

    }

    public JsonResult GetModelsByManufacturerID(string manufacturerId)
    {

        int Id = Convert.ToInt32(manufacturerId);

        var models = from a in mm.ManufacturerModels where a.ManufacturerID == Id select a;

        return Json(models);
    }

Он не работает на варе производителя. Самое странное, что у меня даже нет и никогда не было AQB_MON.ViewModels.DeviceStatu

Модель производителя

public partial class Manufacturer
{
    public Manufacturer()
    {
        this.ManufacturerModels = new HashSet<ManufacturerModel>();
    }

    public int ManufacturerID { get; set; }
    [Display(Name="Manufacturer")]
    public string Manufacturer1 { get; set; }
    [Display(Name="Manufacturer Description")]
    public string ManufacturerDescription { get; set; }
    public System.DateTime DATE_CREATED { get; set; }
    public string CREATED_BY { get; set; }
    public Nullable<System.DateTime> DATE_MODIFIED { get; set; }
    public string MODIFIED_BY { get; set; }

    public virtual ICollection<ManufacturerModel> ManufacturerModels { get; set; }

ПроизводительМодель Модель

public partial class ManufacturerModel
{
    public ManufacturerModel()
    {
        this.Devices = new HashSet<Device>();
    }

    public int ManufacturerModelID { get; set; }
    [Display(Name="Manufacturer")]
    public int ManufacturerID { get; set; }
    public string Model { get; set; }
    [Display(Name="Model Description")]
    public string ModelDescription { get; set; }
    public System.DateTime DATE_CREATED { get; set; }
    public string CREATED_BY { get; set; }
    public Nullable<System.DateTime> DATE_MODIFIED { get; set; }
    public string MODIFIED_BY { get; set; }

    public virtual ICollection<Device> Devices { get; set; }
    public virtual Manufacturer Manufacturer { get; set; }

Модель устройства

 public partial class Device
{
    public Device()
    {
        this.DeviceLocations = new HashSet<DeviceLocation>();
        this.DeviceLogs = new HashSet<DeviceLog>();
        this.DeviceStatus = new HashSet<DeviceStatu>();
    }


    public int DeviceID { get; set; }
    [Display(Name = "Device Type")]
    public int DeviceTypeID { get; set; }
    public int ManufacturerModelID { get; set; }
    [Display(Name="Inventory Number")]
    public string InventoryNumber { get; set; }
    [Display(Name = "Serial Number")]
    public string SerialNumber { get; set; }
    [Display(Name = "State ID")]
    public string StateID { get; set; }
    [Display(Name = "Date Received")]
    [DisplayFormat(DataFormatString = "{0:d}", ApplyFormatInEditMode = true)]
    public DateTime? DateReceived { get; set; }
    public Nullable<decimal> Price { get; set; }
    public string Notes { get; set; }
    public System.DateTime DATE_CREATED { get; set; }
    public string CREATED_BY { get; set; }
    public Nullable<System.DateTime> DATE_MODIFIED { get; set; }
    public string MODIFIED_BY { get; set; }


    public virtual DeviceType DeviceType { get; set; }
    public virtual ManufacturerModel ManufacturerModel { get; set; }
    public virtual ICollection<DeviceLocation> DeviceLocations { get; set; }
    public virtual ICollection<DeviceLog> DeviceLogs { get; set; }
    public virtual ICollection<DeviceStatu> DeviceStatus { get; set; }

1 ответ

Это может быть то, что говорится в сообщении об ошибке: EntityType ‘DeviceStatu’ не имеет определенного ключа. Определите ключ для этого EntityType.

Трудно сказать, потому что вы не опубликовали модель данных этого объекта, но это может быть проблема с именем

Чтобы быть ключом, поле должно иметь то же имя, что и класс, например DeviceStatusId, или использовать аннотацию данных [Key] над полем.


1

user2113566
25 Авг 2016 в 04:25

Я работаю над тем, что, как мне кажется, является реализацией кода EF 4.1. База данных уже существует, и базовые модели уже существуют (созданные XSD.exe для моих входящих XML-данных). Я написал свои собственные сопоставления и обновил модели, чтобы они правильно работали с Entity Framework.

Когда я пытаюсь запустить код, я получаю следующую ошибку:

Во время создания модели были обнаружены одна или несколько ошибок проверки:

System.Data.Edm.EdmEntityType: Name: имя каждого типа в схеме должно быть уникальным. Имя типа «CourtCase» уже определено.

Я проверил и дважды проверил, и определенно этот класс определен только в одном месте. Я также использовал строку ниже, чтобы DbContext не пытался создавать свои собственные модели.

Database.SetInitializer<LoadContext>(null);

Мои XML-данные десериализуются в мои модели, а затем я просто пытаюсь сохранить их в базе данных:

var serializer = new XmlSerializer(typeof (CourtCase));
var xmlReader = new XmlTextReader(
   new MemoryStream(Encoding.Default.GetBytes(_itemText)));

_deserializedCase = (CourtCase) serializer.Deserialize(xmlReader);

Database.SetInitializer<LoadContext>(null);
using (var dbContext = new LoadContext())
{
  dbContext.Cases.Add(_deserializedCase);
  dbContext.SaveChanges();
}

Дбконтекст:

public class LoadContext : DbContext
{
  public DbSet<CourtCase> Cases { get; set; }

  protected override void OnModelCreating(DbModelBuilder modelBuilder)
  {
     modelBuilder.Conventions.Remove<IncludeMetadataConvention>();
     modelBuilder.Configurations.Add(new CaseMap());
     etc.
  }
}

Мне не хватает еще одного ключевого компонента конфигурации Entity Framework?

Полная трассировка стека

at System.Data.Entity.ModelConfiguration.Edm.EdmModelExtensions.ValidateAndSerializeCsdl(EdmModel model, XmlWriter writer)
   at System.Data.Entity.DbModelBuilder.Build(DbProviderManifest providerManifest, DbProviderInfo providerInfo)
   at System.Data.Entity.DbModelBuilder.Build(DbConnection providerConnection)
   at System.Data.Entity.Internal.LazyInternalContext.CreateModel(LazyInternalContext internalContext)
   at System.Data.Entity.Internal.RetryLazy`2.GetValue(TInput input)
   at System.Data.Entity.Internal.LazyInternalContext.InitializeContext()
   at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType)
   at System.Data.Entity.Internal.Linq.InternalSet`1.Initialize()
   at System.Data.Entity.Internal.Linq.InternalSet`1.get_InternalContext()
   at System.Data.Entity.Internal.Linq.InternalSet`1.ActOnSet(Action action, EntityState newState, Object entity, String methodName)
   at System.Data.Entity.Internal.Linq.InternalSet`1.Add(Object entity)
   at System.Data.Entity.DbSet`1.Add(TEntity entity)

Во время генерации модели были обнаружены одна или несколько ошибок проверки:

SportsStore.Domain.Concrete.shop_Products:: EntityType «shop_Products» не определил ключ. Определите ключ для этого EntityType.

Продукты: EntityType: EntitySet «Продукты» основаны на типе «shop_Products», который не имеет определенных ключей.

 public ViewResult Index()
    {

        ProductsListViewModel viewModel = new ProductsListViewModel
        {
            Products = repository.Products
                .Where(p => p.CategoryId == 100)
                .OrderByDescending(p=>p.ProductID)
                .Take(5)
        };
        return View(viewModel);
    }


@foreach (var p in Model.Products)
{

<a href="">@p.ProductName</a>
}


public class shop_Products {
    public int ProductID { get; set; }
    public string ProductName { get; set; }
    public int CategoryId { get; set; }
    public Nullable<int> CategoryPropertyId { get; set; }
    public string PropertyValue { get; set; }
    public Nullable<int> ProductBrandId { get; set; }
    public Nullable<decimal> MarketPrice { get; set; }
    public decimal Price { get; set; }
    public Nullable<decimal> UserPrice { get; set; }
    public string TitleKeyword { get; set; }
    public string MetaKeyword { get; set; }
    public string MetaDescription { get; set; }
    public string PhotoName { get; set; }
    public string PhotoPath { get; set; }
    public string smallPhotos { get; set; }
    public string BigPhotos { get; set; }
    public string URL { get; set; }
    public double Discount { get; set; }
    public int Inventory { get; set; }
    public string ShortDesc { get; set; }
    public bool IsAccessories { get; set; }
    public bool IsGroup { get; set; }
    public bool IsTopService { get; set; }
    public string Accessorices { get; set; }
    public string PeopleGroup { get; set; }
    public string TopService { get; set; }
    public string Contents { get; set; }
    public string Parameter { get; set; }
    public string PackingList { get; set; }
    public string Service { get; set; }
    public string Professional { get; set; }
    public bool IsParameter { get; set; }
    public bool IsPackingList { get; set; }
    public bool IsService { get; set; }
    public bool IsProfessional { get; set; }
    public Nullable<bool> IsEnable { get; set; }
    public Nullable<bool> IsCommend { get; set; }
    public Nullable<bool> IsTop { get; set; }
    public Nullable<bool> IsBest { get; set; }
    public string ProductBrandType { get; set; }
    public string Manufacturer { get; set; }
    public string Makein { get; set; }
    public string weight { get; set; }
    public System.DateTime InputTime { get; set; }
    public Nullable<int> Sort { get; set; }
    public Nullable<int> SeeCount { get; set; }
}

Я сделал несколько из них и хорошо работает. Но это неправильно. Кто-нибудь может мне помочь?

19 март 2014, в 16:14

Поделиться

Источник

5 ответов

Добавьте это пространство имен System.ComponentModel.DataAnnotations к вашей модели, а затем добавьте аннотацию [Key] над свойством id

edwich44
14 апр. 2014, в 23:53

Поделиться

пространство имен: с использованием System.ComponentModel.DataAnnotations.Schema;

[Key] public int ProductID { get; set; }

user9542003
24 март 2018, в 19:33

Поделиться

вы также можете просто переименовать productID в id

public int id {get; set;}

William Bello
27 март 2015, в 04:30

Поделиться

Вот мой код для этого типа проблемы в asp.net MVC

до

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace glostars.Models
{
    public class WeeklyTagged
    {
        public int TaggedId { get; set; }          
    }
}

после

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;  //added this line
using System.Linq;
using System.Web;

namespace glostars.Models
{
    public class WeeklyTagged
    {
        [Key]                                   //and this line
        public int TaggedId { get; set; }          
    }
}

И теперь это работает. Спасибо

MD.JULHAS HOSSAIN MOHON
15 дек. 2018, в 12:51

Поделиться

Ещё вопросы

  • 0KnockoutJS не отображает выберите
  • 0Использование $ compile в директиве со значением динамического атрибута
  • 0Как оптимизировать COUNT () при использовании в Large Loop
  • 1Caliburn 2.0.0 и WP 8.1: ActionMessage не нашел целевой метод
  • 0Не находит заголовочные файлы при компиляции кода примера тяги
  • 1Возможная ошибка в Collections.synchronizedCollection для forEach и removeIf?
  • 1Как я могу определить массив с длиной и значением некоторых элементов в Java?
  • 1Случайный доступ к файлу в комплекте с Android apk
  • 0Mysql добавить первичный ключ из таблицы в другие две таблицы
  • 0Сервер XAMPP (WAMP) — отключить доступ к файлам вне корневого каталога
  • 0C ++ Vector Iterator: сравни и удаляй два элемента
  • 0Экспорт из библиотеки динамических ссылок
  • 1Визуализация угловых компонентов материала с помощью ComponentFactoryResolver
  • 0обслуживающих angularjs страниц с узлом
  • 1Как создать метод для отправки данных в режиме реального времени с использованием универсального обработчика?
  • 1C # WP8.1 — Отображение MapIcon поверх маршрута при использовании Bing Maps
  • 1Частично скомпилируйте gradle проект с java-6 и java-7
  • 1запуск приложения для Android
  • 1Прикрепление файла JSON: «Ошибка типа: индексы списка должны быть целыми или кусочками, а не str»
  • 0MySQL SELECT SUM на основе другой таблицы (Другой случай)
  • 0PHP обнаруживает тип запроса (GET, POST, PUT или DELETE) без использования $ _SERVER [‘REQUEST_METHOD’]
  • 0Время ожидания истекло, ошибка намного раньше, чем прошло максимальное время ожидания
  • 1Передайте ветку git в качестве параметра conda environment.yml для пакета pip
  • 0MySQL создает поле в главной таблице со связанными строками
  • 0проблема с конструктором копирования с атрибутом const
  • 1Как я могу нажать кнопку внутри таблицы, используя Selenium (Python)
  • 0Как сравнить строку и игнорировать начальную строку из предложения в JAVAScript
  • 1Почему оператор — = не изменяет размер формы как + = do?
  • 1Попытка перебрать несколько файлов PDF и извлечь текст между двумя критериями поиска
  • 1Совместные закодированные тесты пользовательского интерфейса
  • 0Объяснение базы данных Yii2 RBAC
  • 0AngularJS тестирует фабрику с мокко
  • 1Android — еще один вопрос кнопки
  • 0PHP Execute Code ПОСЛЕ того, как пользователь получает ответ
  • 0получить выбранную строку pyqt5 qttablewidget
  • 1Ошибка на панели графика времени: атрибут <text> x: ожидаемая длина, «NaN»
  • 0setInterval с различной длительностью
  • 0Pdo Sqlite и php
  • 0Измените все элементы TABLE на DIV внутри тега TD только jQuery
  • 0Как использовать экспортированный класс из DLL
  • 0Мерцание белого при переходе
  • 1DataFrame max () не возвращает max
  • 0Использование сгенерированной PHP веб-формы и MySQL для обновления нескольких строк в таблице
  • 0ассоциативный массив установлен неправильно
  • 1Python Pandas — Найти первый экземпляр значения, превышающего порог
  • 1Импорт android.pim не может быть решен
  • 0Как происходит динамическая отправка в сборке?
  • 1Не удается загрузить и загрузить файлы из облачного хранилища Google при развертывании
  • 1Как я могу установить размер окна Excel? [Дубликат]
  • 0Угловой $ http.delete + hapijs с использованием swagger + grails

Сообщество Overcoder

Пытаюсь использовать подход Code-First с EntityFramework 6.1.3. Создал модель, которая должна описывать следующее: тип File, который может содержать множество SEPropertyValue и Path.
При попытке сохранить изменения выкидывается исключение: Во время создания модели обнаружены ошибки проверки.
Root.ProjectName.DataModel.Type: : Для EntityType "Type" не определены ключи. Определите ключ для этого EntityType.
Types: EntityType: Набор EntitySet "Types" основан на типе "Type", в котором не определены ключи.

Не могу «расшифровать» это сообщение, в каком моем типе ошибка? Ключи вроде все указаны?

Модель:

namespace Root.ProjectName.DataModel {

    using System;
    using System.Data.Entity;
    using System.Linq;

    public class AggregatorContext : DbContext {

        public AggregatorContext() : base("name=AggregatorContext") { }

        public virtual DbSet<File> Files { get; set; }
        public virtual DbSet<Path> Paths { get; set; }
        public virtual DbSet<SEProperty> SEProperties { get; set; }
        public virtual DbSet<SEPropertyValue> SEPropertyValues { get; set; }
}

public class File {

    [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }

    [Required]
    public DateTimeOffset Created { get; set; }

    [Required]
    public string Path { get; set; }

    public File() {
        this.SEProperties = new HashSet<SEPropertyValue>();
        this.Paths = new HashSet<Path>();
    }

    virtual public ICollection<SEPropertyValue> SEProperties { get; set; }
    virtual public ICollection<Path> Paths { get; set; }

}

public class Path {

    [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }

    [Required]
    public string FullPath { get; set; }

    [Required]
    public DateTimeOffset ProcessingTime { get; set; }

    public Path() {
        this.Files = new HashSet<File>();
    }

    public virtual ICollection<File> Files { get; set; }
}

public class SEProperty {

    [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }

    [Required]
    public string GroupName { get; set; }

    [Required]
    public int InternalId { get; set; }

    public string Name { get; set; }

    [Required]
    public Type Type { get; set; }

    public SEProperty() {
        this.Values = new HashSet<SEPropertyValue>();
    }

    public virtual ICollection<SEPropertyValue> Values { get; set; }

}

public class SEPropertyValue {

    [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }

    public string Value { get; set; }

    public virtual File File { get; set; }
    public virtual SEProperty SEProperty { get; set; }
}

задан 31 мар 2017 в 7:26

XelaNimed's user avatar

7

Проблема в том, что Type — это не примитивный тип и он не сконфигурирован, а класс, для хранения типа и значения я бы предложил использовать строки…. и причем 2 поля, в одном определить имя типа, в другом значение… Или же если значение может быть не примитивным типом а например class или struct, то вообще использовать сериализацию….

Так же, как справедливо заметил @Bald, можно создать отдельный тип, с этими же двумя полями, но думаю это немного излишне, если оба эти поля будут обладать атрибутом Required, т.к. приведет к ненужному JOIN в запросе…

ответ дан 31 мар 2017 в 12:57

kimaman2's user avatar

kimaman2kimaman2

5382 серебряных знака10 бронзовых знаков

One or more validation errors were detected during model generation:

SportsStore.Domain.Concrete.shop_Products: : EntityType ‘shop_Products’ has no key defined. Define the key for this EntityType.

Products: EntityType: EntitySet ‘Products’ is based on type ‘shop_Products’ that has no keys defined.

 public ViewResult Index()
    {

        ProductsListViewModel viewModel = new ProductsListViewModel
        {
            Products = repository.Products
                .Where(p => p.CategoryId == 100)
                .OrderByDescending(p=>p.ProductID)
                .Take(5)
        };
        return View(viewModel);
    }


@foreach (var p in Model.Products)
{

<a href="">@p.ProductName</a>
}


public class shop_Products {
    public int ProductID { get; set; }
    public string ProductName { get; set; }
    public int CategoryId { get; set; }
    public Nullable<int> CategoryPropertyId { get; set; }
    public string PropertyValue { get; set; }
    public Nullable<int> ProductBrandId { get; set; }
    public Nullable<decimal> MarketPrice { get; set; }
    public decimal Price { get; set; }
    public Nullable<decimal> UserPrice { get; set; }
    public string TitleKeyword { get; set; }
    public string MetaKeyword { get; set; }
    public string MetaDescription { get; set; }
    public string PhotoName { get; set; }
    public string PhotoPath { get; set; }
    public string smallPhotos { get; set; }
    public string BigPhotos { get; set; }
    public string URL { get; set; }
    public double Discount { get; set; }
    public int Inventory { get; set; }
    public string ShortDesc { get; set; }
    public bool IsAccessories { get; set; }
    public bool IsGroup { get; set; }
    public bool IsTopService { get; set; }
    public string Accessorices { get; set; }
    public string PeopleGroup { get; set; }
    public string TopService { get; set; }
    public string Contents { get; set; }
    public string Parameter { get; set; }
    public string PackingList { get; set; }
    public string Service { get; set; }
    public string Professional { get; set; }
    public bool IsParameter { get; set; }
    public bool IsPackingList { get; set; }
    public bool IsService { get; set; }
    public bool IsProfessional { get; set; }
    public Nullable<bool> IsEnable { get; set; }
    public Nullable<bool> IsCommend { get; set; }
    public Nullable<bool> IsTop { get; set; }
    public Nullable<bool> IsBest { get; set; }
    public string ProductBrandType { get; set; }
    public string Manufacturer { get; set; }
    public string Makein { get; set; }
    public string weight { get; set; }
    public System.DateTime InputTime { get; set; }
    public Nullable<int> Sort { get; set; }
    public Nullable<int> SeeCount { get; set; }
}

I made a few of these,and works well.But these is wrong.Can anybody help me?

Ruben Steins's user avatar

Ruben Steins

2,7624 gold badges27 silver badges48 bronze badges

asked Mar 19, 2014 at 14:14

user3339775's user avatar

0

Add this namespace ref System.ComponentModel.DataAnnotations to your model and then add the [Key] annotation above your id property

Gonzalo.-'s user avatar

Gonzalo.-

12.5k5 gold badges50 silver badges81 bronze badges

answered Apr 14, 2014 at 22:32

edwich44's user avatar

namespace: using System.ComponentModel.DataAnnotations.Schema;

[Key] public int ProductID { get; set; }

answered Mar 24, 2018 at 17:55

user9542003's user avatar

you can also just rename productID to id

public int id {get; set;}

answered Mar 27, 2015 at 2:45

William Bello's user avatar

William BelloWilliam Bello

2921 gold badge3 silver badges13 bronze badges

Here is my code for this type of problem in asp.net mvc

before

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace glostars.Models
{
    public class WeeklyTagged
    {
        public int TaggedId { get; set; }          
    }
}

after

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;  //added this line
using System.Linq;
using System.Web;

namespace glostars.Models
{
    public class WeeklyTagged
    {
        [Key]                                   //and this line
        public int TaggedId { get; set; }          
    }
}

And now it works. Thank you

answered Dec 15, 2018 at 11:14

MD JULHAS HOSSAIN's user avatar

4

Я работаю над тем, что, как мне кажется, является реализацией кода EF 4.1. База данных уже существует, и базовые модели уже существуют (созданные XSD.exe для моих входящих XML-данных). Я написал свои собственные сопоставления и обновил модели, чтобы они правильно работали с Entity Framework.

Когда я пытаюсь запустить код, я получаю следующую ошибку:

Во время создания модели были обнаружены одна или несколько ошибок проверки:

System.Data.Edm.EdmEntityType: Name: имя каждого типа в схеме должно быть уникальным. Имя типа «CourtCase» уже определено.

Я проверил и дважды проверил, и определенно этот класс определен только в одном месте. Я также использовал строку ниже, чтобы DbContext не пытался создавать свои собственные модели.

Database.SetInitializer<LoadContext>(null);

Мои XML-данные десериализуются в мои модели, а затем я просто пытаюсь сохранить их в базе данных:

var serializer = new XmlSerializer(typeof (CourtCase));
var xmlReader = new XmlTextReader(
   new MemoryStream(Encoding.Default.GetBytes(_itemText)));

_deserializedCase = (CourtCase) serializer.Deserialize(xmlReader);

Database.SetInitializer<LoadContext>(null);
using (var dbContext = new LoadContext())
{
  dbContext.Cases.Add(_deserializedCase);
  dbContext.SaveChanges();
}

Дбконтекст:

public class LoadContext : DbContext
{
  public DbSet<CourtCase> Cases { get; set; }

  protected override void OnModelCreating(DbModelBuilder modelBuilder)
  {
     modelBuilder.Conventions.Remove<IncludeMetadataConvention>();
     modelBuilder.Configurations.Add(new CaseMap());
     etc.
  }
}

Мне не хватает еще одного ключевого компонента конфигурации Entity Framework?

Полная трассировка стека

at System.Data.Entity.ModelConfiguration.Edm.EdmModelExtensions.ValidateAndSerializeCsdl(EdmModel model, XmlWriter writer)
   at System.Data.Entity.DbModelBuilder.Build(DbProviderManifest providerManifest, DbProviderInfo providerInfo)
   at System.Data.Entity.DbModelBuilder.Build(DbConnection providerConnection)
   at System.Data.Entity.Internal.LazyInternalContext.CreateModel(LazyInternalContext internalContext)
   at System.Data.Entity.Internal.RetryLazy`2.GetValue(TInput input)
   at System.Data.Entity.Internal.LazyInternalContext.InitializeContext()
   at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType)
   at System.Data.Entity.Internal.Linq.InternalSet`1.Initialize()
   at System.Data.Entity.Internal.Linq.InternalSet`1.get_InternalContext()
   at System.Data.Entity.Internal.Linq.InternalSet`1.ActOnSet(Action action, EntityState newState, Object entity, String methodName)
   at System.Data.Entity.Internal.Linq.InternalSet`1.Add(Object entity)
   at System.Data.Entity.DbSet`1.Add(TEntity entity)

1 / 1 / 1

Регистрация: 26.05.2013

Сообщений: 22

1

Подскажите что за ошибка и как исправить

17.04.2015, 18:23. Показов 1543. Ответов 7


Студворк — интернет-сервис помощи студентам

«Во время создания модели обнаружены ошибки проверки:rnrn\tSystem.Data.Entity.Edm.EdmEntityType: : Для EntityType «Document» не определены ключи. Определите ключ для этого EntityType.rn\tSystem.Data.Entity.Edm.EdmEntityType: : Для EntityType «Podrazdy» не определены ключи. Определите ключ для этого EntityType.rn\tSystem.Data.Entity.Edm.EdmEntityType: : Для EntityType «TypeDocs» не определены ключи.



0



picxela

3 / 3 / 1

Регистрация: 04.04.2015

Сообщений: 19

17.04.2015, 19:29

2

скорее всего в классах, на основе которых создаёте базу, нет поля-идентификатора

C#
1
 public int Id { get; set; }



0



1 / 1 / 1

Регистрация: 26.05.2013

Сообщений: 22

17.04.2015, 19:49

 [ТС]

3

есть они там, писал я



0



3 / 3 / 1

Регистрация: 04.04.2015

Сообщений: 19

17.04.2015, 20:05

4

код покажите



0



1 / 1 / 1

Регистрация: 26.05.2013

Сообщений: 22

17.04.2015, 21:23

 [ТС]

5

код модели??



0



3 / 3 / 1

Регистрация: 04.04.2015

Сообщений: 19

18.04.2015, 21:13

6

да, и app.config



1



1 / 1 / 1

Регистрация: 26.05.2013

Сообщений: 22

18.04.2015, 21:31

 [ТС]

7

я уже разобрался спасибо)



0



2 / 2 / 0

Регистрация: 26.03.2014

Сообщений: 66

06.12.2016, 05:15

8

Как ты разобрался, у меня такая же проблема!! Помоги, прошу!!!



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

06.12.2016, 05:15

Помогаю со студенческими работами здесь

Ошибка 150 подскажите как исправить
create table `ВУЗ`(
`Наименование ВУЗа` varchar (20) not null primary key,
`Адрес` varchar (30)…

Подскажите в чем ошибка, и как исправить
Программа еще не полностью готова, но есть парочка ошибок, сам не разобрался, прошу вашей помощи,…

Ошибка в XML. Подскажите как исправить ситуацию
Недавно появилась вот такая ошибка (см. приложение) и не понятно что с ней делать, так как нет…

Подскажите, в чем здесь ошибка? И как ее исправить…плиз!
//Ошибка здесь!!!!
void power (ulong m, ulong &amp;s, ulong &amp;t)
{
for (t=0, s=m; s%2==0; t++)

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

8

Возможно, вам также будет интересно:

  • Во время сканирования произошла ошибка интел
  • Во время сканирования произошла ошибка hp scan
  • Во время сессии важной оказывается каждая минута времени ошибка
  • Во время связи со сканером произошла ошибка 9923 mac
  • Во время сборки головоломки произошла ошибка portal 2

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии