簡體   English   中英

LINQ InsertOnSubmit丟失格式

[英]LINQ InsertOnSubmit loses formatting

我有一個表,其文本類型為可空字段。 當我運行InsertInSubmit()時,它會成功插入,但是所有格式都會丟失。 具體來說,我正在存儲錯誤的堆棧跟蹤。 每個條目都已格式化為自己的行,看起來不錯,但是當我從SQL檢索它時,它會丟失所有的crlf4。

我還有其他文本字段似乎保留了其格式,但是它們是使用舊的ADO.NET插入的。 如何補救?

碼:

string[] stacktrace = Environment.StackTrace.Replace("\r", "").Replace("\n", "").Replace("  at", "\n").Split('\n');
string stack = "";

for (int i = 0; i < stacktrace.Length; i++)
    stack += stacktrace[i].Trim() + "\r\n";

Error err = new Error();
err.Severity = (byte)sev;
err.Product = (byte)prod;
err.Location = stacktrace[0];
err.Title = message;
err.datetime = DateTime.Now;
err.StackTrace = stack;

dc.Errors.InsertOnSubmit(err);
dc.SubmitChanges();

請注意,如果我調試該應用程序,則在SubmitChanges()之前和之后err.StackTrace和堆棧看起來都是正確的。

錯誤定義:

[Column(Storage="_ID", AutoSync=AutoSync.OnInsert, DbType="Int NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)]
public int ID // ...
[Column(Storage="_AID", DbType="Int")]
public System.Nullable<int> AID // ...
[Column(Storage="_Severity", DbType="TinyInt NOT NULL")]
public byte Severity
[Column(Storage="_Product", DbType="TinyInt NOT NULL")]
public byte Product
[Column(Storage="_Location", DbType="VarChar(255) NOT NULL", CanBeNull=false)]
public string Location
[Column(Storage="_Title", DbType="VarChar(255) NOT NULL", CanBeNull=false)]
public string Title
[Column(Storage="_Ex", DbType="Text", UpdateCheck=UpdateCheck.Never)]
public string Ex
[Column(Storage="_Notes", DbType="Text", UpdateCheck=UpdateCheck.Never)]
public string Notes
[Column(Storage="_datetime", DbType="DateTime NOT NULL")]
public System.DateTime datetime
[Column(Storage="_InnerException", DbType="Text", UpdateCheck=UpdateCheck.Never)]
public string InnerException
[Column(Storage="_StackTrace", DbType="Text", UpdateCheck=UpdateCheck.Never)]
public string StackTrace

[Association(Name="Activity_Error", Storage="_Activity", ThisKey="AID", IsForeignKey=true)]
public Activity Activity

您確定用於查看錯誤的內容不會剝離空白嗎? 例如,任何Web瀏覽器都將忽略\\ r \\ n。

您沒有顯示Error的定義,因此很難知道發生了什么。

編輯:

在我看來,問題在於您隨后如何查看數據。 您如何確定格式錯誤?

您是否真的嘗試過使用Studio Manager查看SQL數據庫並查看數據庫中實際存儲的內容。 通過查看那里的數據,您可以知道存儲數據或檢索數據是否存在問題。

我認為問題在於數據的檢索。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM