小编jax*_*xbo的帖子

LINQ Fluent NHIBERNATE .Contains()在QueryOver <>中不起作用,但在Query <>中起作用

使用FNH,我尝试使用以下方法检索类别:

_session.QueryOver<Data.Model.Category>()
                                     .Where(c => tourCreateRequest.Categories.Contains(c.CategoryId))
                                     .List()
                                     .Select(_categoryMapper.CreateCategory)
                                     .ToList();
Run Code Online (Sandbox Code Playgroud)

但是我在.Contains()方法中遇到错误:

无法识别的方法调用:System.Collections.Generic.ICollection`1 [[System.Int64,mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089]]:Boolean包含(Int64)

为什么我得到那个错误,出了什么问题?

我浏览了一些帖子,然后将查询更改为(下面),这适用于Query <>.

_session.Query<Data.Model.Category>()
                                     .Where(c => tourCreateRequest.Categories.Contains(c.CategoryId))
                                     .ToList()
                                     .Select(_categoryMapper.CreateCategory)
                                     .ToList();
Run Code Online (Sandbox Code Playgroud)

我认为QueryOver <>是最新的和最好的,应该使用而不是Query <>.

我使用如上所示的QueryOver <>的方式有什么问题?

nhibernate fluent-nhibernate linq-to-nhibernate

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

增加每个工作进程IIS的线程数

如何增加IIS中每个工作进程的线程数?

iis-7 worker-process

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

根据c#中的给定顺序重新排列列表

我有一个列表如下:

{CT, MA, VA, NY}
Run Code Online (Sandbox Code Playgroud)

我将此列表提交给一个函数,我得到了最佳的航点订单列表

{2,0,1,3}
Run Code Online (Sandbox Code Playgroud)

现在我必须按照新提供的顺序重新排列列表.即重新排列后,列表应如下所示:

{VA, CT, MA, NY}
Run Code Online (Sandbox Code Playgroud)

这样做的最佳方式是什么?使用linq有办法吗?

.net c# linq sorting list

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

获取Log4Net ILog实例的目录

我有一个dll,它获取了ILog的一个实例.

使用这个ILog实例,我想获取记录器正在写入的目录,因为我想在同一个文件夹中创建一个带有其他信息的文件.

我尝试了以下方法:

var fa = _log.Logger.Repository.GetAppenders().FirstOrDefault(a => a is RollingFileAppender);
Run Code Online (Sandbox Code Playgroud)

对于fileappender,它没有fa.File选项.它向我展示的选项是:.DoAppend(),. Name和.Close()

任何想法如何获得fa.File值?这样我可以派生目录并在该目录中创建我的文件?

log4net c#-4.0

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

MEF - 每个Import都需要出口吗?

我试过从其他帖子中搜索此内容,但无法找到答案,因此创建了一个新问题.

我正在构建一个ETL系统.

现在我有一个具有以下进口的类:

        [Import]
        public IDataExtractor DataExtractor { get; set; }
        [Import]
        public IDataTransformer DataTransformer { get; set; }
        [Import]
        public  IDataValidator DataValidator { get; set; }
        [Import]
        public IDataPublisher DataPublisher { get; set; }
        [Import]
        public  IDataUpdater DataUpdater { get; set; }
Run Code Online (Sandbox Code Playgroud)

我的program.cs有以下代码组成:

            var catalog = new AggregateCatalog();
            if (!string.IsNullOrEmpty(ConfigKeys["Extractor"]))
                catalog.Catalogs.Add(new DirectoryCatalog(ConfigKeys["Extractor"]));
            if (!string.IsNullOrEmpty(ConfigKeys["Transformer"]))
                catalog.Catalogs.Add(new DirectoryCatalog(ConfigKeys["Transformer"]));
            if (!string.IsNullOrEmpty(ConfigKeys["Validator"]))
                catalog.Catalogs.Add(new DirectoryCatalog(ConfigKeys["Validator"]));
            if (!string.IsNullOrEmpty(ConfigKeys["Publisher"]))
                catalog.Catalogs.Add(new DirectoryCatalog(ConfigKeys["Publisher"]));
            if (!string.IsNullOrEmpty(ConfigKeys["Updater"]))
                catalog.Catalogs.Add(new DirectoryCatalog(ConfigKeys["Updater"]));
            var container = new CompositionContainer(catalog);
            container.ComposeParts(this);
Run Code Online (Sandbox Code Playgroud)

其中ConfigKeys []是我的配置管理系统,我可以指定,每个提取器,转换器,验证器等的dll路径.

整个过程是:提取,转换,验证,发布,更新. …

.net mef c#-4.0

3
推荐指数
1
解决办法
837
查看次数

ActionFilter未在WebApplication中执行,而是在WebApi中执行

我创建了一个ActionFilterAttribute

public class LoggingNHibernateSessionAttribute : ActionFilterAttribute
Run Code Online (Sandbox Code Playgroud)

过滤器名称的目的是分别在目标操作之前和之后记录并打开和提交事务.

我有一个WebApi(myAPI)项目(MVC4)和一个WebApplication(myContent).

myAPI中的每个Api控制器都使用此属性进行修饰.

using myApp.Web.Common.Filters;

namespace myAPI.Web.Api.Controllers
{
    [LoggingNHibernateSession]
    public class CategoriesController : ApiController
    {
Run Code Online (Sandbox Code Playgroud)

当在ApiController内执行Http动作(Get/Post)时,ActionFilter会被执行并且按预期正常工作.

问题:在WebApplication(myContent)中,我还使用ActionFilter修饰了这些控制器.

using myApp.Web.Common.Filters;

namespace myContent.Web.Content.Places.Controllers
{
    [LoggingNHibernateSession]
    public class PlacesController : Controller
    {
Run Code Online (Sandbox Code Playgroud)

但是在这里,当在控制器内部执行动作时,ActionFilter不会被执行.

ActionFilter属于System.Web.Http.Filters ;

我已经阅读了一些帖子,他们说要使用System.Web.Mvc过滤器.所以我将ActionFilter更改为System.Web.Mvc 当我切换它时,ActionFilter也停止在WebApi中工作.

我在这做错了什么?

action-filter actionfilterattribute asp.net-mvc-4 asp.net-web-api

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

NHIBERNATE WHERE和IQUERYOVER的多个OR子句

嗨:我试过看其他帖子.如果这是一个重复的帖子,我会提前道歉.

sql查询是这样的:

select * from ApiData where BrandID = 'SOUPBRAND' and Culture = 'de-de'
or 
( BrandID = 'SOUPBRAND' and Culture = 'pt-br' and EntityType = 'contactus')
or
(BrandID = 'examplefoods')
Run Code Online (Sandbox Code Playgroud)

nhibernate查询会是什么样的?

这是我到目前为止:

var mainQuery = _session.QueryOver<ApiData>();

            foreach (var brandPermission in permissions)
            {
                var query = _session.QueryOver<ApiData>();
                if (!string.IsNullOrEmpty(brandPermission.Culture) && !string.IsNullOrEmpty(brandPermission.Publication))
                {
                    query = query.Where(a => (a.Culture == brandPermission.Culture)
                                           && (a.Publication == brandPermission.Publication)); //FetchEntries(apiUser.DefaultCulture, apiUser.Publication);
                }
                else if (!string.IsNullOrEmpty(brandPermission.Culture))
                {
                    query = query.Where(a => (a.Culture == brandPermission.Culture)); //FetchEntries(apiUser.DefaultCulture);
                }

                query …
Run Code Online (Sandbox Code Playgroud)

nhibernate fluent-nhibernate linq-to-nhibernate c#-4.0

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

Jquery获取与类名匹配的dom元素的属性值

我有一系列的html元素,如

<li id="1" class="jstree-unchecked jstree-open">
<li id="2" class="jstree-checked jstree-open">
<li id="3" class="jstree-unchecked jstree-open">
<li id="4" class="jstree-checked jstree-open">
<li id="5" class="jstree-checked jstree-open">
<li id="6" class="jstree-unchecked jstree-open">
<li id="7" class="jstree-undetermined jstree-open">
Run Code Online (Sandbox Code Playgroud)

我想要具有classname { jstree-checkedjstree-undetermined } 的元素的id .

我尝试过使用选择器,但是在JQuery中是否有linq方式?

你可以帮助jQuery看起来像什么?id列表可以用逗号分隔.

输出:"2,4,5,7"

html javascript jquery jquery-selectors

-2
推荐指数
1
解决办法
838
查看次数