我试图将电子邮件的正文从Exchange Web服务电子邮件转换为字节数组,但每次我这样做时,与image
System.Text.Encoding.ASCII.GetBytes丢失每个字符串的前两个字节
byte[] emBodyBytes;
foreach (Item item in findResults)
{
if (item is EmailMessage)
{
EmailMessage em = item as EmailMessage;
emBodyBytes = System.Text.Encoding.ASCII.GetBytes(em.Body.Text.ToString());
dEmailMessage thisMailMessage = new dEmailMessage //LINQ-to-SQL
{
emmMessage = emBodyBytes //This is our byte object of the email body string
}
emailDB.dEmailMessages.InsertOnSubmit(thisMailMessage);
}
}
所以The quick brown fox
类型将其插入SQL数据库字段后的文本的前两个字符缺失时,它的插入SQL image
场变e quick brown fox
。
如果我在转换过程中发生某些事情,或者SQL期望在定义了image
定义的字段中领先两个字节,那么我有点失落。
领域的定义是
CREATE TABLE [dbo].[dEmailMessages](
[emmMessage] [image] NOT NULL
)
将文本存储为图像是违反直觉的。你有没有考虑过将文本存储为文本? – dtb
@dtb - 这个软件是http://www.thedailywtf.com的候选人 - 不幸的是,改变SQL架构的工作太多。 –
这两个字符是什么意思?不管它们是什么,它们都被砍掉了吗? –