使用MariaDb實例數據庫(MySql的叉)和使用實體框架核心,給我一個問題,我從來沒有經歷過,因此這篇文章,因爲我不知道發生了什麼,希望你們中的一些人可能以前經歷過這種事情。所有數據都沒有插入MySql實例使用實體框架核心
問題
採取以下方案。我們有一個表,看起來像這樣
News
-------------------------------------
| Id | int | not null |
| Title | text | not null |
| Content | longtext | not null |
| Base64Image | blob | null |
-------------------------------------
使用C#,因爲我的web應用程序是建立在ASP.NET MVC的核心,我創造News
對象的新實例,就像這樣:
public IActionResult New (NewsViewModel model)
{
using (var db = new DatabaseContext())
{
var news = new News()
{
Title = model.Title,
Content = model.Content
};
db.News.Add(news);
db.SaveChanges();
}
}
正如我習慣於從常規的ASP.NET MVC應用程序,我希望這工作得很好。儘管如此。
查看我的數據可視化器中的數據(在這種情況下使用HeidiSQL)我可以看到字符串Content
被縮短。我認爲這可能只是HeidiSQL中的一個設置,不能顯示完整的字符串,而只能顯示字符數量x
。現在,如果我將該條目從數據庫中取出,我可以看到字符串IS實際上只有x
字符長,其中我的初始字符串可能是x * 5
。
這給我幾個問題,因爲Content
字符串被縮短,但如果用戶上傳一個圖像,我可能想要轉換爲base64字符串。這些字符串往往很長(當然取決於數據),這也會縮短。
正如本文開頭所述:我完全不知道發生了什麼。我從來沒有遇到過這個奇怪的問題,我似乎無法谷歌我的方式來解決方案。
任何人都可以伸出援手向我解釋發生了什麼事嗎?的字符串內容
實例保存到數據庫之前490個字符
Lorem存有悲坐阿梅德(實際字符串我想保存在一個textarea前端進入)在每一個獨特的男性中,在暨的骰子menandri,fastidii petentium explicari等。 Ex a saperet definiebas quaerendum pri。 Ei sed alii alterum alienum,mei graeco meliore pertinax eu,nec cu propriae molestie。 Id eum zril timeam,錯誤gloriatur consectetuer est,et vim ceteros assueverit。在pri ancillae ponderum,ius vidit dicant laudem。 Ei usu corp officiis principes,offendit percipitur eos et,qui ne consetetur concludaturque。
保存到數據庫中(實際的字符串作爲檢索後保存)252個字符
Lorem存有悲坐阿梅德,NE每virtute黴menandri,暨utamur diceret menandri,fastidii後petentium explicari et cum。 Ex a saperet definiebas quaerendum pri。榮SED alii alterum alienum,梅希臘meliore酚醛塑料歐盟,NEC銅propriae騷擾
EXTRA
它看起來像它的一貫周圍235-260字,實際上是保存到數據庫中。休息只是報廢。我有幾起案件(238個字符,243,253等)
NEWS模型
public class News
{
public int Id { get; set; }
[Display(Name = "Title", ResourceType = typeof(Resources.General))]
public string Title { get; set; }
[Display(Name = "Content", ResourceType = typeof(Resources.General))]
public string Content { get; set; }
public DateTime CreateDate { get; set; }
[Display(Name = "ThumbnailImage", Description = "NewsThumbnailImageDescription", ResourceType = typeof(Resources.General))]
public string Base64ThumbnailImage { get; set; }
[Display(Name = "HeaderImage", Description = "NewsHeaderImageDescription", ResourceType = typeof(Resources.General))]
public string Base64HeaderImage { get; set; }
public string UserProfileUserName { get; set; }
public UserProfile UserProfile { get; set; }
}
DB表
最近是否更改字段的數據類型在你的數據庫? –
@RossBush我在想同樣的事情,可能曾經是TINYTEXT? –
我們可以看到整個「新聞」模型嗎?應該有一個生成的類,可能還有一個部分。 –