ich ein ASP.Net MVC-Projekt habe, dass meine db Entitäten und mein Kontext enthält verwendet IdentityDbContext applicationuserFehler bei der Referenzierung Einheiten von ASP.Net MVC-Projekt in Azure Funktion Projekt
public class MyprojectContext : IdentityDbContext<ApplicationUser>
funktioniert alles einwandfrei verbinden und Abrufen von Datenbank Daten!
Ich habe auch ein azure-Funktionen-Projekt, um Arbeit zu leisten, und ich muss auf die db zugreifen (mit Entity Framework) und holen Sie verschiedene Entität Daten. Also habe ich die MVC-App in der Azure Function-App referenziert, damit ich alle Entitäten/Klassen haben kann.
Aber wenn ich versuche, Daten in eine der Entitäten 'YogaSpaceEvent' zu holen, erhalte ich den Fehler unten, wenn ich meine eigene Entität im Azure Funktionscode erstelle (siehe Code unten), funktioniert es gut und holt die Daten. Ich verwende DbContext nur
Ich vermute, es mit jedem Mitglied, etwas zu tun Daten in dem MVC-app Holen mit
IdentityDbContext<ApplicationUser>
und in der Azure Funktion App haben könnte ????
System.Data.Entity.ModelConfiguration.ModelValidationException: ‚Ein oder mehr Überprüfungsfehler während der Modellerzeugung erfaßt wurden: PostEventEmail.IdentityUserLogin: EntityType 'IdentityUserLogin' hat keinen Schlüssel definiert. Definieren Sie den Schlüssel für diesen EntityType.
namespace PostEventEmail
{
public static class PostEventEmail
{
[FunctionName("PostEventEmail")]
public static void Run([TimerTrigger("0 */1 * * * *")]TimerInfo myTimer, TraceWriter log)
{
log.Info($"C# Timer trigger function executed at: {DateTime.Now}");
YogaSpaceEvent newEvent = new YogaSpaceEvent(); // references the Asp.Net MVC app entity
using (var dbContext = new YogabandyContext())
{
var ybEvents = dbContext.YogaSpaceEvent.FirstOrDefault();
log.Info("event id = " + ybEvents.YogaSpaceEventId);
}
}
// if I uncomment this and use it, it works fine and fetches data
//public class YogaSpaceEvent
//{
// public int YogaSpaceEventId { get; set; }
//}
public partial class YogabandyContext : DbContext
{
public YogabandyContext()
: base("Server=tcp:yoga2017.database.windows.net,1433;Initial Catalog=Yoga2017;Persist Security Info=False;User ID=chuckd;Password=**********!;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;")
{
}
public DbSet<YogaSpaceEvent> YogaSpaceEvent { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
//base.OnModelCreating(modelBuilder);
}
}
}
}
Sie könnten Ihre Frage bearbeitet haben, anstatt sie erneut zu stellen, aber es ist mir egal, alles ist gut. –