Ich arbeite zuerst mit Entity Framework-Code. Der Fehler tritt bei dem Versuch auf, einen negativen Dezimalwert in der SQL Server-Datenbank zu speichern. Das Modell, das ich speichern möchte, ist unten aufgeführt.Kann negative Dezimalwerte nicht speichern
public class Material
{
public Material()
{
Categories = new List<Category>();
}
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid Id { get; set; }
[Required]
public string Name { get; set; }
public string Description { get; set; }
[Required]
public DateTime Taken { get; set; }
public decimal? Latitude { get; set; }
public decimal? Longitude { get; set; }
public virtual ICollection<Category> Categories { get; set; }
}
Hier Ich versuche, die Präzision des Dezimalsystems (Breite/Länge) in dem Modell Material einzustellen.
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Material>().Property(x => x.Latitude).HasPrecision(8, 7);
modelBuilder.Entity<Material>().Property(x => x.Longitude).HasPrecision(8, 7);
}
In der Datenbank der Spalteninformationen wie folgt aussehen:
dbo.Materials.Latitude (decimal(8, 6), null)
dbo.Materials.Longitude (decimal(8, 6), null)
Wenn ich versuche, einen negativen Wert zu speichern wie -1m
alles funktioniert. Aber sobald ich versuche, einen größeren Wert oder Wert mit Dezimalzahlen wie -123
oder -123.123456
zu speichern, löst der Datenkontext beim Speichern immer eine Ausnahme aus.
Die Ausnahme Ich erhalte, ist dies:
Fehler beim Entitäten speichern, die Fremdschlüssel Eigenschaften nicht für ihre Beziehungen aus. Die EntityEntries-Eigenschaft gibt null zurück, da eine einzelne Entität nicht als Quelle der Ausnahme identifiziert werden kann. Die Behandlung von Ausnahmen während des Speicherns kann vereinfacht werden, indem Sie die Fremdschlüsseleigenschaften in Ihren Entitätstypen angeben. Details finden Sie unter InnerException.
in auf die innere Ausnahme der Suche können wir sehen, dass dies die Ursache des Problems sein könnte:
{ „Parameterwert‚-117,246108‘außer Reichweite ist“}
Wie kann ich dieses Problem lösen?
Können Sie mir den Typ der Datenzelle sagen? – Likurg
Wie sieht das Schema für dieses Feld aus? –