【问题标题】:Simple approach to storing and retrieving a non human readable object into SQL Server?将非人类可读对象存储和检索到 SQL Server 的简单方法?
【发布时间】:2015-09-26 16:52:25
【问题描述】:

我在本地使用 MVC3、ASP.NET 4.5、C#、EF6.1.1 以及 SQL Azure 和 SQL Server 2008。

我正在寻找一种将 .NET 类型存储到通用列的简单方法,所以二进制很好,然后检索它。检索它时,我会知道如何检索它,即作为“对象”、“字符串”或“Int32”。

为了节省,我相信我需要:

String -> Binary
Int32 -> Binary
Object -> Binary

要检索,我需要:

Binary -> String via String Retrieve Method.
Binary -> Int32 via Int32 Retrieve Method.
Binary -> Object via Object Retrieve Method.

我已经阅读了很多关于使用 JSON.NET 之类的东西对数据库进行序列化和反序列化的文章。但是我认为我可以让事情变得更简单,因为这些数据是临时的,不需要人类可读。这样的应用程序需要能够检索它,然后将其转换为 String、Int32 或 Object。

我们将不胜感激,如果有代码示例会更好。

谢谢。

编辑

这是我最好的起点,请参阅ADO.NET Object Save Approach 中的“答案”。但是我不明白如何检索这些数据。

【问题讨论】:

  • 如果您使用 EF,为什么要研究序列化和反序列化?
  • 谢谢。所以是的,我可以使用 EF 方法。您会推荐哪种简单的 EF 方法?
  • SamJolly,如果您愿意,我很乐意与您快速交谈。我似乎有很多关于 Azure 和 SQL DB 的问题。我是 SQL DB 项目管理团队的一员,如果您愿意,我很想了解更多关于您的旅程的信息。 Guyhay@microsoft.com

标签: c# asp.net sql-server asp.net-mvc asp.net-mvc-3


【解决方案1】:

假设您有一个非人类可读的对象。现在你可以写一个第一类的代码,比如:

class foo
{
    public string otherObj{get;set;}
    public byte[] nonReadableObj{get;set;}
}

现在将您不可读的内容放入nonReadableObj,EF 将为您完成剩下的工作。

【讨论】:

  • 嗯,就这么简单:) 会试一试。谢谢
  • DB 列类型是什么:Binary、Varbinary 或 Varbinary(Max) 以匹配 EF "Byte[]" 类型?
  • 没关系。无论如何,您可以从建模图中自己看到类型。 msdn.microsoft.com/en-us/library/cc716729(v=vs.110).aspx此链接全部列出
  • 好的,谢谢,最后是 varbinary。
  • 抱歉,我一直在努力让它工作。我无法将对象分配给字节 []。你怎么做到这一点?我想我需要二进制格式化程序?请参阅:stackoverflow.com/questions/4865104/…
猜你喜欢
  • 2014-01-14
  • 1970-01-01
  • 2011-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多