C# 如何使用实体框架将RichTextBox内容存储到WPF中的SQLServer数据库

C# 如何使用实体框架将RichTextBox内容存储到WPF中的SQLServer数据库,c#,wpf,entity-framework,richtextbox,C#,Wpf,Entity Framework,Richtextbox,我遇到了一个非常令人沮丧的问题:使用实体框架将格式设置为数据库的RichTextBox 这是我的密码: 名称空间傻瓜 { /// ///AddNewOE.xaml的交互逻辑 /// 公共部分类AddNewOE:Window { //数据库连接 SimpleTondBenties _db=新SimpleTondBenties(); 公共AddNewOE() { 初始化组件(); } 私有void insertobtn_单击(对象发送者,路由目标e) { db_entry newdb_entri

我遇到了一个非常令人沮丧的问题:使用实体框架将格式设置为数据库的
RichTextBox

这是我的密码:

名称空间傻瓜
{
/// 
///AddNewOE.xaml的交互逻辑
/// 
公共部分类AddNewOE:Window
{
//数据库连接
SimpleTondBenties _db=新SimpleTondBenties();
公共AddNewOE()
{
初始化组件();
}
私有void insertobtn_单击(对象发送者,路由目标e)
{
db_entry newdb_entries=新db_entry()
{
ReportDetails=ConvertRtbToBytes(rtfText)
};
_db.ob_entries.Add(newOb_entries);
_db.SaveChanges();
}
公共静态字节[]ConvertRtbToBytes(字符串richTextBox)
{
字节[]数据=null;
string rtfText;//要保存到数据库的字符串
TextRange tr=新的TextRange(richTextBox.Document.ContentStart,richTextBox.Document.ContentEnd);
使用(MemoryStream ms=new MemoryStream())
{
tr.Save(ms,DataFormats.Rtf);
rtfText=Encoding.ASCII.GetString(ms.ToArray());
}
返回数据;
}
}
}
我在
converrtbtobytes()函数中得到错误信息:

“string”不包含“Document”的定义,并且找不到接受string类型的第一个参数的可访问扩展方法“Document”(是否缺少using指令或程序集引用?)


我还确信常规代码不正常。

您需要更仔细地描述问题,因为我怀疑您是否希望在数据库中存储RichTextBox。我猜您想在数据库中存储RichTextBox的内容

错误本身是不言自明的:

“string”不包含“Document”的定义,并且找不到接受string类型的第一个参数的可访问扩展方法“Document”(是否缺少using指令或程序集引用?)

您有一个名为
richTextBox
的参数,类型为
string
,稍后您将尝试以以下方式使用该参数:

public static byte[] ConvertRtbToBytes(string richTextBox)
{
    // ...
    TextRange tr = new TextRange(richTextBox.Document.ContentStart, richTextBox.Document.ContentEnd);
    // ...
}
因此,您试图访问
字符串的
文档
属性,但
字符串
没有
文档
属性。您可能打算将参数设置为
RichTextBox
类型

也就是说,您的代码有更多的缺陷,甚至无法编译:

在方法
insertobtn\u中单击

  • 使用了
    rtfText
    ,但从未定义
  • 创建名为
    newdb\u entries
    的变量,但尝试保存名为
    newOb\u entries
在方法
converrtbtobytes
中:

  • 您声明
    byte[]data=null
    并返回
    数据
    ,但
    数据
    从未设置或填充数据
  • 您可以定义
    rtfText
    并为其赋值,但不使用它

只是建议:在此处,您不必将标题更改为“已解决”,而是将答案标记为已接受。注意,谢谢