Ich habe eine Datenbank, von der ich ein EF-Modell erstellen möchte, aber ich möchte bestimmte Spalten nicht aus der Datenbank einfügen, da die betreffenden Spalten ausschließlich auf dem Server verwaltet werden und nicht manipuliert werden sollten jede Anwendung.Entity Framework: Spalten ignorieren
Beide Spalten sind DateTime (wenn dies einen Unterschied macht), eine der Spalten ist nullwertfähig und wird von einem Auslöser für Aktualisierungen verwaltet, und die andere Spalte ist nicht nullfähig und mit einem Standardwert in der Tabellendefinition festgelegt.
Ich denke, ich suche etwas wie die "Server Generated" -Option in Linq2Sql; aber ich kann eine solche Option nicht finden.
Kann mir jemand sagen, wie man das umgeht?
Caveat:
Ich habe versucht, Business-Objekt-Modellierung an meinem Arbeitsplatz seit einigen Jahren einzuführen und es hat immer wegen der Höhe des zusätzlichen Code abgelehnt wurde, die Handkurbel sein. EF wird derzeit aufgrund der Designer- und Codegenerierung als praktikable Lösung angesehen. Daher wird jede Option, die das Hand-Cranking des XML beinhaltet, nur den Rest meiner Kollegen von EF abbringen. Ich suche daher nach etwas, das entweder mit dem Designer oder mit Code getan werden kann.
EDIT:
Ich denke, das hier für das, was ich bin auf der Suche entweder ...
(a) eine Möglichkeit, das Modell ohne EF Bezugnahme auf die Spalten in dem Speicher (SSDL) zu erstellen und deshalb nicht, um es in irgendeiner Weise zu manipulieren (b) eine Möglichkeit, das "StoreGeneratedPattern" Attribut gegen die Eigenschaft zu setzen, wenn ich den ObjectContext erstellen (die einfache Antwort ist, dies manuell in der .ssdl zu manipulieren, aber das wäre dann überschrieben werden, wenn ich das Modell aus der Datenbank aktualisiert habe, und ich kann die Route, wo die .csdl, .msl & .ssdl sind Handkurbel).
Leider, wenn ich dies versuche, bekomme ich dann Fehler im Modell, da die Spalte nicht zugeordnet ist. –
Welche Art von Fehlern? – TGnat
Fehler 3023: Problem beim Zuordnen des Fragments ab Zeile 197: Die Spalte TableName.ColumnName in der Tabelle TableName muss zugeordnet werden: Sie hat keinen Standardwert und kann keine Nullwerte enthalten. –