abzurufen ich VS2013Kann nicht-Controller mit Entity Framework erstellen - Unable Metadaten
Verwendung Wenn ich versuche, eine „MVC 5-Controller mit Ansichten mit Entity Framework“ erstellen ich die folgende Fehlermeldung erhalten:
there was an error running the selected code generator ''Unable to retrieve metadata for WebApplication.Domain.Entities.Product'.'
EFDbContext.cs
using System.Data.Entity;
using WebApplication.Domain.Entities;
namespace WebApplication.Domain.Concrete
{
public class EFDbContext : DbContext
{
public DbSet<Product> Products;
}
}
Product.cs
using System.ComponentModel.DataAnnotations;
namespace WebApplication.Domain.Entities
{
public class Product
{
[Key]
public int ProductID { get; set; }
[Required]
public string Title { get; set; }
}
}
Web.config
<?xml version="1.0" encoding="utf-8"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=301880
-->
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<connectionStrings>
<add name="EFDbContext" connectionString="Data Source=(LocalDB)\v11.0;Initial Catalog=WebApplication;Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
<appSettings>
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
</configuration>
Ich habe eine Tabelle aufgebaut Produkte genannt und es hat eine Definition wie folgt:
CREATE TABLE [dbo].[Products] (
[ProductID] INT IDENTITY (1, 1) NOT NULL,
[Title] NVARCHAR (255) NULL,
PRIMARY KEY CLUSTERED ([ProductID] ASC)
);
Beliebig Ideen, was schief läuft? Ich habe alles versucht, was bei Google zurückgekehrt ist.
Pakete Ich habe installiert:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EntityFramework" version="6.0.1" targetFramework="net45" />
<package id="jQuery" version="1.10.2" targetFramework="net45" />
<package id="jQuery.Validation" version="1.11.1" targetFramework="net45" />
<package id="Microsoft.AspNet.Mvc" version="5.0.0" targetFramework="net45" />
<package id="Microsoft.AspNet.Razor" version="3.0.0" targetFramework="net45" />
<package id="Microsoft.AspNet.WebPages" version="3.0.0" targetFramework="net45" />
<package id="Microsoft.jQuery.Unobtrusive.Validation" version="3.0.0" targetFramework="net45" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net45" />
<package id="Unity" version="3.0.1304.1" targetFramework="net45" />
<package id="Unity.Mvc" version="3.0.1304.0" targetFramework="net45" />
<package id="WebActivatorEx" version="2.0.4" targetFramework="net45" />
</packages>
Mein Projekt finden Sie hier: https://github.com/jimmyt1988/WebApplication2
Wenn Sie mein Projekt erstellen, erhalten Sie das gleiche Ergebnis, wenn Sie versuchen, einen Controller mit Entity-Framework-Ansichten hinzuzufügen? kann es immer noch nicht zur Arbeit bringen! – Jimmyt1988
Ich konnte die EF Power Tools nicht in Ihrem Kontext verwenden, ich hatte eine Fehlermeldung über den Anbieter. Vielleicht mochte es die vorhandene Datenbank nicht. Ich habe einen DbContext mit einem anderen Namen erstellt, der gut funktioniert (das EF Power Tools Display-EDM-Modell hat funktioniert, das ist mein üblicher Säuretest). Ich habe dann Ihren DbContext gelöscht und meinen umbenannt ... aber dann habe ich versucht, einen Controller hinzuzufügen und habe ein ähnliches Ergebnis erhalten. Ich denke, es ist ein T4-Gerüst Fehler nicht ein EF-Fehler ... – ajd
Danke für die Hilfe Kumpel, sussed es aus, siehe meine Antwort .. doh .. noobie Fehler ay – Jimmyt1988