Articles of Entity Framework

Entity Framework-Abfragen vermissen den gefilterten Index WHERE BIT-Feld = 0

Ich habe festgestellt, dass Entity Framework LINQ-Abfragen mit negativen booleschen Filtern so übersetzt, dass der generierte Abfrageplan keinen gefilterten Index verwendet. Zum Beispiel die Abfrage: context.Foo.Count(f => !f.IsActive) generiert die SQL-statement: SELECT [GroupBy1].[A1] AS [C1] FROM ( SELECT COUNT(1) AS [A1] FROM [dbo].[Foos] AS [Extent1] WHERE [Extent1].[IsActive] <> cast(1 as bit) ) AS [GroupBy1] Beachten […]

Hinzufügen der Where-Klausel eines Updates in LinQ-to-Entities

Nehmen wir an, ich habe eine Tabelle namens Produkt mit drei Spalten: Id, CustomerId, Name. Id ist der Primärschlüssel. Das Schema liegt außerhalb der Kontrolle meiner Gruppe, und wir müssen nun CustomerId als Parameter für alle Abfragen bereitstellen (Auswählen, Aktualisieren, Löschen). Es ist eine lange Geschichte, auf die ich lieber nicht eingehen würde … es […]

Die beste Methode zum Implementieren einer Notes-Tabelle für viele Entitäten Tabellen in SQL

Ich habe viele Tische: Kunden, Interessenten, Freunde .. Sie haben alle ein paar Notizen. Frage 1: Sollte ich eine Notes Tabelle mit allen übergeordneten Tabellen teilen? ODER Sollte ich einen NotesCustomer, NotesProspects, NotesFriends Tabellen haben? Frage 2: Wenn die beste Lösung die erste ist, dann sollte diese allgemeine Notes-Tabelle dann einen FK zur übergeordneten Tabelle […]

Meine eigene OrderBy-function

Ich schreibe ein Stück Code, das die list der Fotos basierend auf ihrer Bewertung bestellen wird. Jedes Foto ist in DB gespeichert, und jeder hat solche Informationen wie Anzahl der positiven und negativen Stimmen. Ich möchte sie nach der Formel ordnen, in der ich den Prozentsatz der positiven Stimmen zähle, und das erste Foto ist […]

SQL-Reihenfolge nach Float-Spalte funktioniert nicht

Ich habe folgende Zeilen in meiner db: ID Weight —————————– 897 1.46357497509608E-11 689 6.67145488899268E-12 896 6.63573718293682E-12 615 5.14817058560092E-12 822 5.14806820534293E-12 Wenn ich die folgende SQL-Abfrage ausführe: SELECT * FROM mytable ORDER BY weight DESC Die data werden in derselben Reihenfolge zurückgegeben. PS das Gleiche passiert aus einer Linq-Abfrage in einer ASP.NET C # -Anwendung

Wie kaskadiert man das Löschen im Entity Framework?

Ich habe zwei objecte in meinem model Auto und Auto mit 1: n-Beziehung. Ich möchte die Entity Auto kaskadieren. Wenn ich lösche, bekomme ich folgende exception: The operation failed: The relationship could not be changed because one or more of the foreign-key properties is non-nullable. When a change is made to a relationship, the related […]

Falsche Vorgehensweise zum Erstellen einer Fremdschlüsseleinschränkung für den Primärschlüssel der gleichen Tabelle?

Ich versuche, eine Kommentartabelle in meiner database zu machen und die Unterkommentare in der gleichen Tabelle auch zu speichern. Ich würde eine Fremdschlüsseleinschränkung für eine Spalte namens "ParentId" festlegen, die mit der Spalte "CommentId" verknüpft wäre, die der Primärschlüssel der gleichen Tabelle ist. Wenn es ein Elternkommentar ist, würde ich es für ParentId null geben. […]

Probleme beim Verwenden von GroupBy mit mehreren properties mithilfe der LINQ-methodssyntax

Ich habe folgende data: Type (enum) Date (DateTime) Count (int) Red 2014-07-27 11:00:00 1 Red 2014-07-27 10:00:00 1 Red 2014-07-27 09:00:00 1 Blue 2014-07-27 11:00:00 1 Blue 2014-07-27 10:00:00 1 Blue 2014-07-27 09:00:00 1 Ich möchte zuerst nach dem Type gruppieren und dann Sum the Count für jeden Tag. Meine gewünschte Ausgabe wäre: Type (enum) […]

Viele Zeilen in EF zu langsam insert, wie get den Primärschlüssel von SqlBulkCopy?

Wir haben in unserer Anwendung einen Anwendungsfall, bei dem ein Benutzer eine Anfrage austriggers, die eine Einfügung von 100 bis 1000 Zeilen verursacht. Nach diesem Einfügen müssen wir das object weiter verarbeiten und mehr objecte erstellen, die Fremdschlüssel für die ursprünglich eingefügten objecte sind, oder mit anderen Worten, wir benötigen die Primärschlüssel-ID der eingefügten objecte. […]

C #: Warum fehlt eine meiner .Where () – Bedingungen in meiner SQL-Abfrage?

Ich habe eine Methode mit der folgenden Codezeile ausgeführt wird. Es soll alle Nachrichten erhalten, die innerhalb der letzten 24 Stunden erstellt wurden und nicht in einer zukünftigen time erstellt werden (weil das nicht möglich sein sollte). messages.AddRange(_dbcontext.Messages .Where(message => message.CreationTime >= DateTime.UtcNow.AddHours(-24) && message.CreationTime <= DateTime.UtcNow) .ToList()); Wenn die Anwendung ausgeführt wird und die […]