小编Jon*_*han的帖子

C#DateTime.ParseExact

我有一个制表符分隔文件,该文件正在被解析,然后插入到数据库中.当我遇到日期列时,我无法解析它.

我的代码是:

var insert = DateTime.ParseExact(line[i], "d/M/yyyy h:mm", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

字符串in line[i]的格式是7/7/2011 10:48 我得到的例外

日历System.Globalization.GregorianCalendar中不支持字符串表示的DateTime.

c# datetime parsing

44
推荐指数
1
解决办法
11万
查看次数

用关联覆盖实体删除

我试图通过覆盖DbContext.SaveChanges()方法并撤消删除任何实现我的ISoftDelete接口的实体来在我的项目中实现软删除功能.

interface ISoftDelete
{
  bool IsDeleted { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

SaveChanges()方法中,我为每个处于"已删除"状态并实现的条目调用我的SoftDelete()方法ISoftDelete:

var entries = this.ChangeTracker.Entries().Where(x => (x.State == EntityState.Deleted) && x.Entity is ISoftDelete)
                    .ToList();
                entries.ForEach(SoftDelete);
Run Code Online (Sandbox Code Playgroud)

我的SoftDelete()方法如下:

private void SoftDelete(DbEntityEntry entry)
{
    if (entry.State == EntityState.Deleted && entry.Entity is ISoftDelete)
    {
        entry.Reload();
        var entity = (ISoftDelete)entry.Entity;
        entity.IsDeleted = true;
        entry.State = EntityState.Modified;
    }
}
Run Code Online (Sandbox Code Playgroud)

这将完美地工作,直到我遇到一个与其他东西有一对一关联的实体.此时,抛出此错误的异常:

{"来自'ChildParent'AssocSet的关系处于'已删除'状态.给定多重约束,相应的'父'也必须处于'已删除'状态."}

有没有办法获得该实体的所有关联并更改它们的已删除状态?

我已经尝试获取对实际关联实体的引用,但实体EntityState设置为Unchanged而不是Deleted.

c# entity-framework entity-framework-4

8
推荐指数
1
解决办法
892
查看次数

在Azure网站上启用gzip压缩

我有一个使用标准层在azure网站上运行的ASP.NET应用程序.我一直试图让gzip压缩工作.我修改了我的web.config文件,并在下面添加了以下内容system.webServer

<urlCompression doStaticCompression="true" doDynamicCompression="true"/>
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
    <dynamicTypes>
        <add mimeType="text/*" enabled="true"/>
        <add mimeType="message/*" enabled="true"/>
        <add mimeType="application/javascript" enabled="true"/>
        <add mimeType="application/x-javascript" enabled="true"/>
        <add mimeType="*/*" enabled="false"/>
    </dynamicTypes>
    <staticTypes>
        <add mimeType="text/*" enabled="true"/>
        <add mimeType="message/*" enabled="true"/>
        <add mimeType="application/javascript" enabled="true"/>
        <add mimeType="application/x-javascript" enabled="true"/>
        <add mimeType="*/*" enabled="false"/>
     </staticTypes>
</httpCompression>
Run Code Online (Sandbox Code Playgroud)

这在使用IIS express本地运行时有效,但在部署到azure时不起作用.响应包含以下标头.

Accept-Ranges:bytes
Content-Length:5381
Content-Type:text/css
Date:Fri, 04 Sep 2015 20:44:01 GMT
ETag:"56386b2e88dad01:0"
Last-Modified:Wed, 19 Aug 2015 14:06:02 GMT
Server:Microsoft-IIS/8.0
X-Powered-By:ASP.NET
Run Code Online (Sandbox Code Playgroud)

compression asp.net gzip azure azure-web-sites

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