![](/img/trans.png)
[英]Why does Entity Framework truncate string value while saving into database?
[英]Language issue while saving a string into database using entity framework
我有一個帶文本框和按鈕的aspx頁面。 當我單擊按鈕時,它將文本框的文本發送到函數並使用實體框架將其保存到數據庫。 問題是當我在文本框中使用我的本地字符,如ş,ğ,ı,ö,ü時,這些字符被保存為s,g,i,o,u。 問題是什么?
我的代碼(Product.aspx)
<asp:TextBox ID="txtTitle" runat="server"></asp:TextBox>
<asp:Button ID="btnUpdate" runat="server" Text="Update" OnClick="btnUpdate_Click" />
(Product.aspx.cs)
protected void btnUpdate_Click(object sender, EventArgs e)
{
Product p = new Product ()
{
Id = Int32.Parse(Session["ProductId"].ToString()),
Title = txtTitle.Text
};
int productId = ProductManager.UpdateProduct (p);
if (productId != -1)
{
// SUCCESS
}
else
{
// ERROR
}
}
public static int UpdateProduct(Product product)
{
using (var context = new LidyaEntities())
{
Product pUpd = context.Product.FirstOrDefault(p => p.Id == product.Id);
if (pUpd != null)
{
pUpd.Title = product.Title;
}
return context.SaveChanges();
}
}
數據庫表(SQL SERVER);
(Id, int)
(Title, text)
用"N"
來解決這個問題..
如果要在數據庫中插入類似"ҤїАͻ"
的字符串
那么你的查詢必須是這樣的
查詢:
INSERT INTO TableName VALUES (N'ҤїАͻ')
我認為它會解決你的問題
首先檢查數據庫並確認值已正確存儲。 如果不是,則需要更改字符串列的字符類型集。 但在此之前,確認后面代碼中的文本值也是正確的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.