Problem:
Wenn bei einer Asp.Net Core Anwendung Daten aus einem SQL Server angebunden werden, dann bricht die Datenrückgabe oft ab.
Die Ursache liegt oft am Datenmodel bei sql null werten.
In Tabellen werden Integer Zahlen beim SQL Server oft mit Null definiert.
Lösung:
Dann muss man aber auch in der ASP.Net Core Anwendung die Platzhalter in der Daten Klasse mit int? Fragezeichen belegen.
Int? Fragezeichen sagt aus, dass der Wert in C# auch null sein kann.
Daten abfrage in ASP.Net Core Controller
Hier ist auf die Zeilen nFiles null zu achten.
Daten aus SQL Server mit null
Name |
Value |
Type |
|
▶ |
DtCreated |
{01.04.2014 18:15:14} |
System.DateTime? |
▶ |
DtEdit |
{01.02.2016 08:14:50} |
System.DateTime? |
Folder |
"@/Kontakt" |
string |
|
HtmlContent |
"Ich bin als Freiberufler, freiberuflicher Programmierer und Selbstständiger |
string |
|
IDArticle |
33 |
int |
|
IDUser |
null |
string |
|
Keywords |
"Projekt;Freiberuflich;Freelancer" |
string |
|
TextContent |
"Ich bin als Freiberufler, freiberuflicher Programmierer und Selbstständiger mit Kollegen |
string |
|
Title |
"Kontakt Adresse Email Telefon" |
string |
|
nFiles |
null |
int? |
|
nImages |
null |
int? |
|
nVideos |
null |
int? |
Data Class in Asp.Net Core
using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations;
#nullable disable
namespace CodeDocu.Models { public partial class ArticleModel { //-------------< Class: Model_Project >------------- #region Variables //------------< Region: Variables >------------ //[Required] [Key] public int IDArticle { get; set; } [MaxLength(450)] public string IDUser { get; set; }
[MaxLength(255)] [Required] public string Title { get; set; } public string TextContent { get; set; } public string HtmlContent { get; set; }
[MaxLength(450)] public string Folder { get; set; } [MaxLength(450)] public string Keywords { get; set; }
public int? nImages { get; set; } public int? nVideos { get; set; } public int? nFiles { get; set; }
[DisplayFormat(DataFormatString = "{0:d}")] //Format as ShortDateTime public DateTime? DtCreated { get; set; } [DisplayFormat(DataFormatString = "{0:d}")] //Format as ShortDateTime public DateTime? DtEdit { get; set; }
//------------</ Region: Variables >------------ #endregion /Variables
#region Class //------------< Region: Class >------------ public ArticleModel() { //-< init >- DtCreated = DateTime.Now; DtEdit = DateTime.Now; Title = ""; TextContent = ""; HtmlContent = ""; //-</ init >- } //------------</ Region: Class >------------ #endregion /Class
//-------------</ Class: Model_Project >------------- } }
|