小编zam*_*6ak的帖子

使用哪种SQL Server sql数据类型以保留UTC日期时间

我有一个SQL Server数据库表,其中"ReceivedDate"列定义为"datetime",应该包含UTC日期......在我的C#代码中,我使用Entity Framework将表映射到一个类,该类具有相应的属性"ReceivedDate" "System.DateTime类型.

程序将日期从XML文件加载到DB中,稍后检查XML中的数据是否与DB中的数据相同...当XML和DB中的ReceivedDate的日期不匹配时,检查失败...例:

ReceivedDate from XML:
<ReceivedDate>2010-12-16T22:53:27.5912217Z</ReceivedDate>

ReceivedDate from DB:
2010-12-16 22:53:27.590
Run Code Online (Sandbox Code Playgroud)

经过一些调试后,我注意到DB中的日期没有将Kind属性设置为Utc,并且ticks的数量要少得多,因此日期比较失败......

  • 如何在SQL服务器中存储完整的UTC日期,以便当Entity Framework检索它时,我得到的System.DateTime值与XML文件中的值完全相同(包括Kind = Utc)?
  • 这只是为我的列使用不同的sql数据类型的问题(例如datetime2而不是datetime)?

更新:

我解决这个问题的方法是:

  1. 将sql数据类型更改为"datetime2"以匹配sql数据类型和.net System.DateTime之间的精度
  2. 在我的POCO中,我覆盖了Equals,当检查ReceivedDate属性时,我刚从ReceivedDate创建了另一个DateTime变量,但是使用了Kind == Utc的构造函数.

这是有效的,虽然我同意使用DateTimeOffset可能是更好的解决方案.

c# sql-server datetime utc entity-framework-4

7
推荐指数
2
解决办法
5703
查看次数

ASP.NET MVC [RequireHttps] - 返回http

一旦您[RequireHttps]执行操作并且用户从HTTP切换到HTTPS,所有后续链接将保持HTTPS ...

有没有办法切换回HTTP?

asp.net-mvc requirehttps asp.net-mvc-3

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

将webpack与NodeJs本机模块一起使用

我有一个Node.js应用程序,它有很少的本机模块,通过node-gyp创建.这些模块不会以"node_modules"结尾,并且需要来自Node的标准"require"...

我的webpack配置基于这篇文章 如果我运行应用程序"unpackaged" - 一切正常......但是在我运行"webpack -p --progress"并尝试运行它后,我得到以下信息:

X:\myapp>node main-backend.bundle.js env=production port=80 ssl_port=443
[Error: Cannot open X:\myapp\lib\modules\my-module\build\Release\mymodule.node: Error: The specified module could not be found.
Run Code Online (Sandbox Code Playgroud)

我确保所有的加载器都安装了npm.从错误,我可以告诉路径是正确的(相对于server.native.js),但显然不是app.js ...但是,当使用常规node.js时,这"只是工作",我不知道是否这甚至是问题的关键......

我将不胜感激任何帮助!

这是我的应用程序的简略布局

myapp/
    app.js
    node_modules/
    lib/
      modules/
        my-module/
           src/
             one.cc
             one.h
           lib/
             server.native.js
           bindings.gyp
           build/
             Release/
               mymodule.node
Run Code Online (Sandbox Code Playgroud)

server.native.js非常简单,调用本机模块

try {
    module.exports = require('../build/Release/mymodule.node');
    console.log('native module loaded...');
} catch (err) {
    console.log(err);
}
Run Code Online (Sandbox Code Playgroud)

这是我的webpack.config.js

var webpack = require("webpack");
var path = require("path");
var fs = require("fs");

var nodeModules = {};
fs.readdirSync("node_modules")
  .filter(function(x) {
    return …
Run Code Online (Sandbox Code Playgroud)

module server-side node.js webpack

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

为"半月刊"添加多少天

我有一个名为enum的类型,PaymentFrequency其值表示每年有多少付款......所以我有

public enum PaymentFrequency
{
    None             = 0,
    Annually         = 1,
    SemiAnnually     = 2,
    EveryFourthMonth = 3,
    Quarterly        = 4,
    BiMonthly        = 6,
    Monthly          = 12,
    EveryFourthWeek  = 13,
    SemiMonthly      = 24,
    BiWeekly         = 26,
    Weekly           = 52
}
Run Code Online (Sandbox Code Playgroud)

基于NumberOfPayments,PaymentFrequency和,FirstPaymentDate(类型的DateTimeOffset)我想计算LastPaymentDate.但是我有一个问题是在SemiMonthly的情况下确定要添加多少时间单位(天,月)......

    switch (paymentFrequency)
    {
        // add years...
        case PaymentFrequency.Annually:
            LastPaymentDate = FirstPaymentDate.AddYears(NumberOfPayments - 1); 
            break;
        // add months...
        case PaymentFrequency.SemiAnnually:
            LastPaymentDate = FirstPaymentDate.AddMonths((NumberOfPayments - 1) * 6); // 6 months
            break; …
Run Code Online (Sandbox Code Playgroud)

c# datetime date datetimeoffset

6
推荐指数
1
解决办法
5307
查看次数

NLog v2中的AsyncWrapper和BufferingWrapper有什么区别?

当我注意到以下目标配置时,我正在查看NLog的一些最佳实践:

<targets async="true">
  <default-wrapper xsi:type="BufferingWrapper" bufferSize="100"/>
  <target xsi:type="File" name="f" fileName="${basedir}/logs/${shortdate}.log" layout="${longdate} ${uppercase:${level}} ${message}" />
  <!-- other stuff -->
</targets>
Run Code Online (Sandbox Code Playgroud)

根据我的理解,它使用AsyncWrapper和BufferingWrapper包装文件目标...

两者有什么区别?我是否需要两者,因为NLog网站将两者都描述为"缓冲"....

c# logging nlog

6
推荐指数
1
解决办法
3182
查看次数

调用链中的哪个位置应该包含Include()EF LINQ扩展?

我很好奇在调用链中应该包含在使用Entity Framework时调用的位置.考虑以下方法:

// sample usage from service layer
// _customerRepository.Paginate(1, out totalRecords, 25, "DateJoined DESC, AmountSpent", "DateJoined >= '2009-02-01'", "Invoices, Refunds");
public virtual IQueryable<T> Paginate(int page, out int total, int pageSize, string sort = "Id", string filter = null, string includes = null)
{
    IQueryable<T> query = DatabaseSet;

    total = query.Count(); // get total # of records (required for pagination)...
    var skipTo = GetValidSkipCount(page, total, pageSize);

    if (!String.IsNullOrWhiteSpace(filter))
    {
        query.Where(filter);
    }
    // should includes be before filtering? 
    // should query.Count() …
Run Code Online (Sandbox Code Playgroud)

linq-to-entities entity-framework

6
推荐指数
1
解决办法
2072
查看次数

外键与独立关系 - 实体框架5有改进吗?

在使用Entity Framework时,我已经阅读几篇关于外键与独立关系概念的文章和问题.我仍然不能100%确定要走哪条路......我不希望通过拥有一个将在FK关系中使用的属性来"污染"我的域名POCO,因为我已经有了"有一个"的属性引用宾语.

我的问题是(看着你@EFTeam,@ Ladislav Mrnka)

  1. 在即将到来的Entity Framework v5中,这个主题有什么改进吗?
  2. 如果我使用FK而不是独立关联(特别是代码优先),是否有更多的优势?

c# entity-framework ef-code-first

6
推荐指数
1
解决办法
1761
查看次数

通用类型的ASP.NET Web API模型绑定器

对应的MVC问题一致,是否有一种方法可以为ASP.NET Web API中的泛型类型创建模型绑定程序?

如果是,如何处理绑定器中的类型检查和实例化?假设模型资料夹是用于URL参数的,请考虑

[ModelBinder(typeof(MyTypeModelBinder))]
public class MyType<T>
{
//...
}
Run Code Online (Sandbox Code Playgroud)

public class MyTypeModelBinder : IModelBinder
{
public bool BindModel(HttpActionContext actionContext, ModelBindingContext bindingContext)
{
    // check if type if valid? Something like this...
        if (!(bindingContext.ModelType.IsGenericType && bindingContext.ModelType.GetGenericTypeDefinition() == typeof(MyType<>)))
        {
            return false;
        }
    // create instance...using Activator?
}

}
Run Code Online (Sandbox Code Playgroud)

c# asp.net model-binding asp.net-web-api

5
推荐指数
0
解决办法
1132
查看次数

公司全部大写时命名空间的命名指南

当使用company作为命名空间标识符的一部分时,如果公司名称由多个单词组成且全部为大写字母,应该怎么称呼?

请注意,公司的网站、所有文件以及每份印刷材料都使用这种形式,因此这不仅仅是品牌/徽标的问题 - 这就是公司名称的实际使用方式。

以名为“ FASTDATA ”的公司为例

有许多变化可以应用

Fastdata.Product.Feature
FastData.Product.Feature
FASTDATA.Product.Feature

MyCompany.Product.Integration.Fastdata
MyCompany.Product.Integration.FastData
MyCompany.Product.Integration.FASTDATA
Run Code Online (Sandbox Code Playgroud)

我一直在阅读框架设计指南:可重用 .NET 库的约定、习语和模式,第二版,但似乎没有针对这种情况的指导......

.net namespaces naming-conventions

5
推荐指数
1
解决办法
1104
查看次数

Postgres - 以 JSON 数组或数组的形式返回行数据

在 PG v9.4 及更高版本上,我想将一些数据(基于 SELECT 语句)导出为JSON 数组

标准 json_agg 返回我想要的内容,但它返回对象数组(其中对象键是列名称)例如此查询:

SELECT json_agg(data_rows)
FROM (
        -- in memory table sample
    SELECT * FROM 
    (VALUES
        ('John',now(),1940,'Winston','Lennon'),
        ('Paul',now(),1942,'','McCartney'),
        ('George',now(),1943,NULL,'Harrison'),
        ('Ringo',now(),1940,'my passions are ring,drum and shades','Starr')
    ) AS x("FirstName", "CurrentDt", "BirthYear", "MiddleName", "LastName")
        ORDER BY "BirthYear" DESC, "FirstName" DESC
) AS data_rows
Run Code Online (Sandbox Code Playgroud)

返回以下内容:

[
 {"FirstName":"George","CurrentDt":"2016-09-12T13:13:07.862485-04:00","BirthYear":1943,"MiddleName":null,"LastName":"Harrison"}, 
 {"FirstName":"Paul","CurrentDt":"2016-09-12T13:13:07.862485-04:00","BirthYear":1942,"MiddleName":"","LastName":"McCartney"}, 
 {"FirstName":"Ringo","CurrentDt":"2016-09-12T13:13:07.862485-04:00","BirthYear":1940,"MiddleName":"my passions are ring,drum and shades","LastName":"Starr"}, 
 {"FirstName":"John","CurrentDt":"2016-09-12T13:13:07.862485-04:00","BirthYear":1940,"MiddleName":"Winston","LastName":"Lennon"}
]
Run Code Online (Sandbox Code Playgroud)

但我想要的是:

[
 ["George","2016-09-12T13:13:07.862485-04:00",1943,null,"Harrison"}, 
 ["Paul","2016-09-12T13:13:07.862485-04:00",1942,"","McCartney"}, 
 ["Ringo","2016-09-12T13:13:07.862485-04:00",1940,"my passions are ring,drum and shades","Starr"}, 
 ["John","2016-09-12T13:13:07.862485-04:00",1940,"Winston","Lennon"}
]
Run Code Online (Sandbox Code Playgroud)

我尝试使用这里提到的技巧首先将行转换为 hstore,但这样做的问题是没有保留列排序......所以这个查询:

SELECT json_agg(avals(hstore(data_rows))) …
Run Code Online (Sandbox Code Playgroud)

sql arrays postgresql json postgresql-9.4

5
推荐指数
1
解决办法
3848
查看次数