我有一个制表符分隔文件,该文件正在被解析,然后插入到数据库中.当我遇到日期列时,我无法解析它.
我的代码是:
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.
我试图通过覆盖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.
我有一个使用标准层在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)