小编P.B*_*key的帖子

动态生成LINQ查询

我们有一个对象

public class SomeObject
{
   public Name {get;set;}
   public City {get;set;}
   public State {get;set}
   //various other parameters.  Let's say there's ~20
}
Run Code Online (Sandbox Code Playgroud)

是否可以动态创建新的LINQ查询而无需重新编译源代码?相反,查询参数来自在数据库中存储和更新的XML结构.

var result = from i in someObj
             where 
             //XML requests Name = 'Bob'...so append this where clause
             name = 'Bob'
Run Code Online (Sandbox Code Playgroud)

可以这样做吗?

c# xml linq

34
推荐指数
7
解决办法
9万
查看次数

评估功能'功能'超时

环境:Visual Studio 2017版本15.5.2

错误:

评估函数'function'(在我的情况下,"Windows.Controls ... ToString")超时并需要以不安全的方式中止.

答案说这通常发生在

选项>调试>常规>启用属性评估>已启用.

我禁用了这个.问题仍然存在.Microsoft 提供了一些解决此问题的方法,包括

  • 防止调试器调用getter属性或ToString方法(在我的情况下这是第三方代码)
  • 让目标代码要求调试器中止评估(我不知道这意味着什么.它让我感到"只是忽略它")

visual-studio-2017

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

未定义RegeneratorRuntime

我正在尝试运行Karma-babel-preprocessor和一个直接的ES6生成器:

//require('babel/polyfill');

  describe("how Generators work", function() {
    it("will allow generator functions", function() {
      /*function * numbers() {
        yield 1;
        yield 2;
        yield 3;
      };*/


      let numbers = {
        [Symbol.iterator]:function*(){
            yield 1;
            yield 2;
            yield 3;
          }
      }

      let sum = 0;

      for(n of numbers){
        sum += n;
      }

      expect(sum).toBe(6);
    });
  });
Run Code Online (Sandbox Code Playgroud)

从这里我用babel生成了我的测试文件(ES6 => ES5):

babel src --watch --out-dir tests

然后我跑了karma start我得到错误:

ReferenceError:未定义"regeneratorRuntime".

karma.conf.js中的相关位:

  // list of files / patterns to load in the browser
    files: [ …
Run Code Online (Sandbox Code Playgroud)

javascript karma-runner babeljs karma-babel-preprocessor

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

使实体框架实现一个接口

我想将IoC与Entity框架和Ninject一起使用.我想我需要Generated Entity类来实现一个接口ICRUD.这是一个演练,展示了如何强制实体框架实现一个接口.我按照指示操​​作,我的EntityObjectCodeGenerator.cs文件确实显示"ICrud",但没有实现接口.我没有在EntityObjectCodeGenerator.tt下看到任何子类,因为文章说我应该这样做.我收到错误

'BugnetMvc.Models.BugNetEntities'没有实现接口成员'BugnetMvc.Services.ICrud.Update()'

更新
目标是利用实体框架创建可测试的,可扩展的MVC-3内部网,该框架还支持强类型视图和部分视图.根据我迄今为止对Ninject的小经验,我相信我需要使用View本身的服务(假设每个接口可用的CRUD方法)重载我的Controller的构造函数,并为每个局部视图添加一个:

例如

public HomeController(HomeService homeCrudService, PartialViewService1 partialviewService)
Run Code Online (Sandbox Code Playgroud)

Update2
为了清楚并希望帮助他人,代码可以实现如下:

这就是人们如何扩展实体

namespace BugnetMvc.Models//ensure namespace matches entity
{
    public partial class Milestone : ICrud<Milestone>//Entity, note the CRUD generic.  This gives us a lot of flexibility working with Ninject
    {
        public bool Create()
        {
            throw new System.NotImplementedException();
        }

        public List<Milestone> Read()
        {
            var milestones = new List<Milestone>();

            var result = from a in new BugNetEntities1().Milestones
                            where a.MilestoneID >= 0
                            select new { a.Milestone1 };

            milestones = result.AsEnumerable() …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework ninject asp.net-mvc-3

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

MVC 3部署到IIS6

最初,我使用一些DLL设置部署该站点以复制本地(如另一个SO帖子上的haacked建议).在此失败后,我在服务器上安装了MVC 3软件包.

当我点击我的网站时,我得到:

目录列表被拒绝此虚拟目录不允许列出内容.

我看到haacked的博客,但现在差不多3岁了,其中一些不再适用了.在服务器上安装MVC 3之后,有谁知道我们需要做些什么才能让它工作?

更新
我在haacked的博客上找到了另一个链接.显然,这应该工作(不需要做通配符映射).我的网站虚拟目录设置为运行ASP.NET 4.0.30319,我已经安装了ASP.NET MVC 3,我正在运行IIS6(Windows Server 2003 R2,非常确定是IIS6).

asp.net asp.net-mvc-3

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

为什么函数指针不被认为是面向对象的?

在C#语言规范中,它明确指出:

委托类似于在其他一些语言中找到的函数指针的概念,但与函数指针不同,委托是面向对象的,类型安全的.

我理解委托需要比指针更灵活,因为.NET会移动内存.这是我所知道的唯一区别,但我不确定这会如何将代表转变为OO概念......?

是什么让函数指针不面向对象?指针和函数指针是否等效?

.net c# language-agnostic oop

23
推荐指数
1
解决办法
2069
查看次数

在MVC3中使用Server.MapPath

我有代码

string xsltPath = System.Web.HttpContext.Current.Server.MapPath(@"App_Data") + "\\" + TransformFileName
Run Code Online (Sandbox Code Playgroud)

它回来了

C:\inetpub\wwwroot\websiteName\SERVICENAME\App_Data\FileName.xsl

为什么我要获取ServiceController的路径SERVICENAME?我想要的App_Data路径

C:\inetpub\wwwroot\websiteName\App_Data\FileName.xsl

c# asp.net iis server.mappath asp.net-mvc-3

23
推荐指数
2
解决办法
5万
查看次数

使用LIKE或类似的完整搜索操作搜索XML

我想搜索XML值列以查看是否包含字符串.我不知道架构,我想知道字符串是否包含在任何地方.我不知道XPATH是否适用于这种情况.

相当于

Select s.Name, ts.ValueXML from table t (nolock) 
join table2 ts (nolock) on t.key_Id = ts.key_Id
join table3 s (nolock) on ts.key_Id=s.key_Id
where s.Name like '%Lab%' and ts.ValueXML  like '%PreviewDateRange%'
Run Code Online (Sandbox Code Playgroud)

错误:参数数据类型xml对于类似函数的参数1无效.

相关ts表格栏目

ValueXml (XML(.), null)

我正在搜索的项目应该是一个属性.因此,如果上述情况不可能,则包含该属性的任何内容都将是一个不错的选择.

xml sql xpath sql-server-2008-r2

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

正则表达式删除最后一个/如果它作为字符串中的最后一个字符存在

我想要一个正则表达式或其他方法来删除字符串中的最后一个字符,当且仅当该字符是'/'时.我该怎么做?

javascript regex

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

dbType NVarChar对此构造函数无效

    [Microsoft.SqlServer.Server.SqlProcedure]
    public static void MyMethod()
    {
        string connectionString = "context connection=true";
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            connection.Open();
            SqlMetaData[] metaData = {
                                         new SqlMetaData("Column1", System.Data.SqlDbType.NVarChar)
                                         ,new SqlMetaData("Column1", System.Data.SqlDbType.NVarChar)
                                     };
            SqlDataRecord record = new SqlDataRecord(metaData);
            record.SetString(0,"hello world");
            SqlContext.Pipe.SendResultsRow(record);
        }
    }
Run Code Online (Sandbox Code Playgroud)

当我在SQL中运行该方法时

EXEC MyMethod

错误

消息6522,级别16,状态1,过程MyMethod,行0在执行用户定义的例程或聚合"MyMethod"期间发生.NET Framework错误:System.ArgumentException:dbType NVarChar对此构造函数无效.System.ArgumentException:在Microsoft.SqlServer.Server.SetaMetaData.ctor的Microsoft.SqlServer.Server.SqlMetaData.Construct(String name,SqlDbType dbType,Boolean useServerDefault,Boolean isUniqueKey,SortOrder columnSortOrder,Int32 sortOrdinal)(String name,SqlDbType dbType) )在WcfClrApps.MyNamespace.MyMethod()

如何归还我自己制作的唱片?我不想运行任何SQL.项目构建是为.NET 3.5设置的.SQL 2008 R2中不支持MSDN表示4.0.

c# sqlclr sql-server-2008

22
推荐指数
1
解决办法
9625
查看次数