小编bru*_*ida的帖子

实体框架核心jsonb列类型

我正在使用Entity Framework Core和npgsql postgresql来实现Entity Framework Core.

我的问题是,使用迁移,如何标记类属性以生成JSONB列类型?

例如:

public class MyTableClass
{
    public int Id { get; set; }

    // My JSONB column
    public string Data { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

提前致谢.

c# postgresql npgsql entity-framework-core

13
推荐指数
2
解决办法
5741
查看次数

getMonth 获取UTCMonth 差异结果

我在使用 JavaScript date.getMonth() 和 date.getUTCMonth() 时发现结果不一致,但仅限于某些日期。以下示例演示了该问题:

\n\n
<!DOCTYPE html>\n<html>\n<body onload="myFunction()">\n\n<p id="demo">Click the button to display the month</p>\n\n<script type="text/javascript">\nfunction myFunction()\n{\nvar d = new Date(2012, 8, 1);\nvar x = document.getElementById("demo");\nx.innerHTML=d;\nx.innerHTML+=\'<br/>result: \' + d.getMonth();\nx.innerHTML+=\'<br/>result UTC: \' + d.getUTCMonth();\n\n}\n</script>\n\n</body>\n</html>\n
Run Code Online (Sandbox Code Playgroud)\n\n

这个例子的输出是:

\n\n
Sat Sep 01 2012 00:00:00 GMT+0100 (Hora de Ver\xc3\xa3o de GMT)\nresult: 8\nresult UTC: 7\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果我将日期更改为 (2012, 2, 1),则输出为:

\n\n
Thu Mar 01 2012 00:00:00 GMT+0000 (Hora padr\xc3\xa3o de GMT)\nresult: 2\nresult UTC: 2\n
Run Code Online (Sandbox Code Playgroud)\n\n

在第一个示例中,getMonth 返回 7,getUTCMonth 返回 8。在第二个示例中,两者返回相同的值 2。

\n\n

有人已经经历过这种情况吗?我来自葡萄牙,我认为这与我的格林尼治标准时间有关,但我不明白为什么会发生这种情况,因为这些示例是在相同的情况下运行的。 …

javascript

7
推荐指数
1
解决办法
8881
查看次数

在Web API中将包含JToken的对象序列化为XML时的循环引用异常

在我的数据库中,我有一个包含许多列的表,其中一个包含一个JSON字符串(我无法控制它).像这样的东西:

Name  Age  ExtraData
----  ---  ------------------
Bob    31  {c1: "1", c2: "2"}   <-- string with JSON
Run Code Online (Sandbox Code Playgroud)

我的Web API端点必须根据请求中的Accept标头返回XML或JSON.像这样的东西:

JSON:

{
  "Name": "Bob",
  "Age": 31,
  "ExtraData": {
    "c1": 1,
    "c2": 2
  }
}
Run Code Online (Sandbox Code Playgroud)

XML:

<person>
  <Name>Bob</Name>
  <Age>31</Age>
  <ExtraData>
    <c1>1</c1>
    <c2>2</c2>
  </ExtraData>
</person>
Run Code Online (Sandbox Code Playgroud)

为此,我在C#中创建了一个类,如下所示:

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
    public Object ExtraData { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

从数据库解析数据时,我将填写ExtraData如下:

personInstance.ExtraData = JsonConvert.DeserializeObject(personTableRow.ExtraData);
Run Code Online (Sandbox Code Playgroud)

当Web API返回JSON时,所有工作都按预期工作.

当Web API返回XML时,它会给出一个异常:

'ObjectContent`1'类型无法序列化内容类型'application/xml的响应主体; …

c# xml json json.net asp.net-web-api

3
推荐指数
1
解决办法
651
查看次数