首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LINQ InsertOnSubmit丢失格式设置

LINQ InsertOnSubmit丢失格式设置
EN

Stack Overflow用户
提问于 2009-03-28 21:36:20
回答 2查看 743关注 0票数 0

我有一个表,其中有一个类型为text的可空字段。当我运行InsertOnSubmit()时,它成功插入,但所有格式都丢失了。具体地说,我存储的是错误的堆栈跟踪。每个条目都被格式化到自己的行中,看起来很不错,但是当我从SQL中检索它时,它会丢失所有的crlf4。

我还有其他文本字段,它们似乎保留了它们的格式,但它们是使用旧的ADO.NET插入的。如何解决这个问题?

代码:

代码语言:javascript
复制
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();

请注意,如果我调试到应用程序中,err.StackTrace和堆栈在SubmitChanges()之前和之后看起来都是正确的。

错误定义:

代码语言:javascript
复制
[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
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-03-28 23:10:36

您是否真的尝试使用Studio管理器查看您的SQL数据库并查看数据库中实际存储的内容。通过查看那里的数据,您可以知道是否存在存储数据或检索数据的问题。

我认为问题出在数据的检索上。

票数 1
EN

Stack Overflow用户

发布于 2009-03-28 22:16:48

你确定你用来查看错误的东西没有去掉空格吗?为了方便起见,任何web浏览器都将忽略\r\n。

您没有显示错误的定义,因此很难看到发生了什么。

编辑:

在我看来,问题在于你之后是如何看待数据的。您如何确定格式是错误的?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/693568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档