小编Chr*_*Dog的帖子

是否可以从SQL查询执行文本文件?

我有许多生成的.sql文件,我想连续运行.我想从查询中的SQL语句(即查询分析器/服务器管理工​​作室)运行它们.
有可能做这样的事情,如果是这样的话,这样做的语法是什么?

我希望有类似的东西:

exec 'c:\temp\file01.sql' 
exec 'c:\temp\file02.sql'
Run Code Online (Sandbox Code Playgroud)

我正在使用SQL Server 2005并在管理工作室中运行查询.

sql sql-server sql-server-2005

37
推荐指数
5
解决办法
7万
查看次数

如何在C#中为运算符重载运算符?

我有一个枚举类型,我想定义的>,<,>=,和<=运营商.我知道这些运算符是在枚举类型的基础上隐含创建的(根据文档)但我想明确定义这些运算符(为了清晰,控制,知道如何操作等等)

我希望我可以这样做:

public enum SizeType
{
    Small = 0,
    Medium = 1,
    Large = 2,
    ExtraLarge = 3
}

public SizeType operator >(SizeType x, SizeType y)
{

}
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用("意外的令牌")......这可能吗?它似乎应该是因为有隐含定义的运算符.有什么建议?

c# enums operator-overloading operators

33
推荐指数
4
解决办法
2万
查看次数

如何将大型(> 25MB)文件上载到Web服务?

我有一个Web服务,它接受一个byte []并保存它.

这适用于"小"文件,但是一旦我达到一定的大小,Web服务就会失败并返回"请求失败,HTTP状态为404:未找到".

从我所看到的,这似乎是一个IIS设置,限制了可以发布的文件的大小(以防止拒绝服务攻击).我试图增加那个设置,但是我无法确定设置的位置和设置方式.我正在使用IIS7,而web服务是在.net(asmx)中完成的.

在Web服务的web.config中,我添加了以下内容(这似乎增加了可以接受的文件大小,但不是一直到这个设置大小)

  <system.web>
     <httpRuntime executionTimeout="999999" maxRequestLength="2097151" />
     ...
  </system.web>
Run Code Online (Sandbox Code Playgroud)

有关增加Web服务的文件大小的位置(以及如何)的任何建议将非常感激.

.net iis-7 web-services large-file-upload

29
推荐指数
4
解决办法
5万
查看次数

如何在MSBuild WebProjectOutputDir中包含空格?

我试图从命令行调用MSBuild.当我使用没有空格的路径时,一切都工作正常,但现在我有一个有空格的路径,命令失败.

命令(作品):

"C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe" 
/t:Rebuild "C:\Projects\myProject.csproj" 
/p:OutDir=c:\temp\deploy\funAndGames\Deployment\bin\ 
/p:WebProjectOutputDir=c:\temp\deploy\funAndGames\Deployment\ 
/p:Configuration=Release
Run Code Online (Sandbox Code Playgroud)

然后我添加了引号并将OutDir更改为OutPath(不起作用):

"C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe" 
/t:Rebuild "C:\Projects\myProject.csproj" 
/p:OutPath="c:\temp\deploy\funAndGames\Deployment\bin\" 
/p:WebProjectOutputDir="c:\temp\deploy\funAndGames\Deployment\" 
/p:Configuration=Release
Run Code Online (Sandbox Code Playgroud)

我的目标是这样的(不起作用):

"C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe" 
/t:Rebuild "C:\Projects\myProject.csproj" 
/p:OutPath="c:\temp\deploy\fun and games\Deployment\bin\" 
/p:WebProjectOutputDir="c:\temp\deploy\fun and games\Deployment\" 
/p:Configuration=Release
Run Code Online (Sandbox Code Playgroud)

有关空格的OutDir/OutPath和WebProjectOutputDir语法的任何帮助?可能吗?如果不是,有人知道原因是什么(由于一些Url没有空格类型的东西?)

msbuild directory-structure pathing

21
推荐指数
2
解决办法
1万
查看次数

升级到.net 4.0后无法加载文件或程序集"AjaxControlToolkit"

我有一个Web应用程序,我试图升级到.net 4.0.

我拿了应用程序并通过Visual Studio 2010 Beta 2打开它,并选择了该应用程序的升级路径.该应用程序使用AjaxControlToolkit.现在当我尝试访问页面时升级完成后,我收到错误消息:"无法加载文件或程序集'AjaxControlToolkit'或其依赖项之一.访问被拒绝."

我试过了:

  • 重新启动我的机器
  • 清洁解决方案
  • 删除临时ASP.Net文件中的所有文件
  • 在Bin目录,Temporary ASP.Net Files目录中放宽permsissions(添加Everyone with Full Control)
  • 删除并读取对AjaxControlToolkit DLL的引用

AjackControlToolkit的相关web.config条目是:

<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID">
  <controls>
    <add tagPrefix="ajaxToolkit" namespace="AjaxControlToolkit" assembly="AjaxControlToolkit"/>
  </controls>
</pages>
Run Code Online (Sandbox Code Playgroud)

关于这里发生了什么/如何解决这个问题的任何想法?

asp.net ajaxcontroltoolkit .net-4.0-beta-2

15
推荐指数
3
解决办法
5万
查看次数

在ADO.Net Data Services中使用.SaveChanges()方法的最佳方法是什么?

有没有人对.SaveChanges()方法的使用有一些很好的信息?

尝试在我的数据上下文对象上使用.SaveChanges()方法时遇到各种问题.我从现有数据源获取数据,创建适当的EntityFramework/DataService对象,用数据填充这些创建的对象,将这些对象添加到上下文,然后通过调用.SaveChanges保存该数据.

我提出的场景(以及与它们相关的问题)就是这样......在每个场景中,我都有一个foreach循环,它从DataTable中的行获取数据并生成对象,将它们作为上下文附加到上下文中他们去.(注意:三个对象是"成员"和两个通过SetLink调用连接的"地址") - 基本上这是一个转换工具,用于从一个数据存储中获取数据并将其按压到数据服务公开的数据存储中.

  • 在foreach循环结束时调用.SaveChanges(),不带任何参数(即在循环外部)
    • OutOfMemory错误约1/3(90,000次保存中有30,000次) - 不确定如何发生这种情况,因为每个保存项目都是对数据库的单独SQL调用,内存耗尽的是什么?
  • 每个循环调用.SaveChanges(),不带任何参数
    • 这是有效的,但绝对是绝对的(90,000次保存需要8小时)
  • 在foreach循环结束时调用.SaveChanges(SaveChangesOption.Batch)一次
    • 相同的OutOfMemory错误,但没有任何保存到数据库
  • 每个循环调用一次.SaveChanges(SaveChangesOption.Batch)
    • 404未找到错误
  • 每10个循环调用一次.SaveChanges(SaveChangesOption.Batch)
    • 400错误请求错误(偶尔)
    • OutOfMemory经过多次改动
  • 许多随机尝试每个循环创建一次上下文,或者在循环开始时将其作为变量或将其作为可用的私有成员变量.
    • 不同的结果,无法量化,没有真正那么好

在执行像这样的大数据加载时,从客户端对象调用.SaveChanges()的首选方法是什么?有什么我不知道如何.SaveChanges()的工作原理?任何人都可以提供有关如何使用此功能以及通过数据服务保存数据的限制(如果有)的更多详细信息?围绕.SaveChanges()方法调用是否有任何最佳实践?是否有关于.SaveChanges()方法调用的特别好的文档?

entity-framework savechanges wcf-data-services

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

在LINQ to ADO.net数据服务查询中使用Expand有哪些替代方法?

我想知道在执行LINQ to ADO.net数据服务查询时是否有使用Expand关键字的替代方法.expand方法确实为我提供了我感兴趣的数据,但是它要求我知道我将要提前使用的所有子对象.我绝对的偏好是,当我访问它们时,这些子对象将被延迟加载,但这看起来不是一个选项(我可以将这个延迟加载添加到该子对象属性的get,但它当我更新数据服务引用时会被删除).

有没有人对这种情况有任何建议/最佳做法/替代方案?谢谢.

=====使用具有MailingAddress的成员的示例代码=====

作品:

var me = (from m in ctx.Member.Expand("MailingAddress")
          where m.MemberID == 10000
          select m).First();
MessageBox.Show(me.MailingAddress.Street);
Run Code Online (Sandbox Code Playgroud)

会不会喜欢(真的很想,如果然后去了并加载了MailingAddress)

var me = (from m in ctx.Member
          where m.MemberID == 10000
          select m).First();
MessageBox.Show(me.MailingAddress.Street);
Run Code Online (Sandbox Code Playgroud)

或者至少(注意:类似于此,使用MailingAddressReference,如果我在服务操作中执行LINQ to Entities,则在服务器端工作)

var me = (from m in ctx.Member
          where m.MemberID == 10000
          select m).First();
if (!(me.MailingAddress.IsLoaded())) me.MailingAddress.Load()
MessageBox.Show(me.MailingAddress.Street);
Run Code Online (Sandbox Code Playgroud)

linq entity-framework lazy-loading wcf-data-services

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

使用LINQ如何通过"计算字段"进行分组

我正在使用LINQ到EF并具有以下LINQ查询:

var results = (from x in ctx.Items
               group x by x.Year into decades
               orderby decades.Count() descending
               select new { Decade = decades.Key, DecadeCount = decades.Count() });
Run Code Online (Sandbox Code Playgroud)

所以这种让我到达我想去的地方,因为我得到了按年分解的项目和那一年的项目数.(即2001年 - 10年,1975年 - 15年,2005年 - 5年,1976年 - 1年)我真正想做的事情是将其分解十年(即2000年代 - 15年代,1970年代 - 16年代).

如何在Linq语句的group子句的"by"部分中有一个"计算字段".我想我想要的基本上是这样的:

var results = (from x in ctx.Items
               group x by (x => x.Year.Value.ToString().Substring(0, 3) + "0s") into decades
               orderby decades.Count() descending
               select new { Decade = decades.Key, DecadeCount = decades.Count() });
Run Code Online (Sandbox Code Playgroud)

或者更一般地说是语法,以便我可以做一些更复杂的评估/计算来进行分组.有任何想法吗?

编辑(更新):

(x => x.Year.Value.ToString().子字符串(0,3)+"0s") - 不起作用 - …

.net c# linq linq-to-entities .net-3.5

5
推荐指数
3
解决办法
3279
查看次数

无法保存Entity Framework Inherited类型

我在我的数据模型中实现了一些每个类型的表继承(基本上有一个BaseEntity类型,包含我的项目的所有基本信息和EmployerBaseEntity项目继承的类型).一切似乎都是正确设置的,当使用实体时(通过ADO.net数据服务或通过Linq到实体)我可以看到Employer类型和事情看起来没问题.当我创建一个新Employer实体并尝试保存它时,问题就开始了.

在看起来不是.AddToEmployer项目的上下文中(仅和/ AddObjectAddToBaseEntity).

如果我使用AddObject("Employer", NewEmployer)我得到和错误消息:

找不到EntitySet名称'DataEntities.Employer'.

如果我使用,AddToBaseEntity(NewEmployer)我会收到以下错误消息:

无法确定相关操作的有效排序.由于外键约束,模型要求orstore生成的值可能存在依赖关系.

我是否错过了设置继承的步骤?是否有一些特定的方法来保存继承的对象?我究竟做错了什么?我认为基本问题是我应该有一个AddToEmployer,我需要做些什么来暴露它?看起来很奇怪它不是一个选项,因为我可以在客户端看到雇主类型并且可以执行以下操作:

var NewEmployer = new Employer() - 这似乎表明我可以看到雇主类型罚款.

.net inheritance entity-framework savechanges table-per-type

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

如何仅从 Azure Functions (dotnet5) 返回 JSON

我在 dotnet5 中有一组 HttpTrigger Azure 函数,我想从这些 Azure 函数返回 JSON。我正在使用return new OkObjectResult(myObject),但没有提供 JSON,而是 JSON 位于返回的 JSON 的“Value”元素中,即结果看起来有点像

{
  "Value": {
    "MyValueOne": true,
    "MyValueTwo": 8
  },
  "Formatters": [],
  "ContentTypes": [],
  "DeclaredType": null,
  "StatusCode": 200
}
Run Code Online (Sandbox Code Playgroud)

与预期相反

{
    "MyValueOne": true,
    "MyValueTwo": 8
}
Run Code Online (Sandbox Code Playgroud)

我已经走了几条具有不同返回对象的路径,但它们似乎总是具有这些额外的值,并且我想要返回的 JSON 通常包含在其他 JSON 中的值或内容中,例如: JsonResult(myObject) OR ContentResult() { 内容 = serializedVersionOfMyObject }

我什至尝试了 HttpResponseMessage 路径;但在 HttpTrigger 和 Tast 的预期返回方面遇到了麻烦

我觉得我错过了一些简单的东西;从 Azure 函数返回“just json”的预期/期望/直接方式是什么?

.net azure-functions .net-5 azure-http-trigger

4
推荐指数
1
解决办法
7738
查看次数