小编San*_*zen的帖子

访问从Linq-to-MongoDB查询通过私有字段映射的嵌套属性

我使用标准C#驱动程序使用Linq-MongoDB查询集合:

from n in db.GetCollection<EntityWrapper<Customer>>("Customers").AsQueryable()
where n.Entity.Names.Contains(name)
select n.Entity;
Run Code Online (Sandbox Code Playgroud)

但这导致异常:

Class Customer does not have a member called names.
Run Code Online (Sandbox Code Playgroud)

正如您在下面看到的,我正在包装我的实体以提供额外的元数据而不会污染我的实体.

public class EntityWrapper<TEntity>
{
    public TEntity Entity { get; set; }
    public string CreatedBy { get; set; }
}

public class Customer : Entity
{
     private List<string> names = new List<string>();
     public IEnumerable<string> Names { get { return names; } }

     public void AddName(string name)
     {
         names.Add(name);
     }
}
Run Code Online (Sandbox Code Playgroud)

我已经映射了私有字段:

BsonClassMap.RegisterClassMap<Customer>(n =>
{
    n.AutoMap();
    n.MapField("names");
});
Run Code Online (Sandbox Code Playgroud)

我发现数据库中的数据是正确的.

当我删除私有字段并将Names属性更改为a时 …

c# linq mongodb

5
推荐指数
0
解决办法
628
查看次数

FullCalendar:自定义日历

我是CSS和Jquery的新手.

我需要帮助自定义完整的日历显示.比如更改边框颜色,日历背景,添加删除月/日/周视图或按钮?

这是我必须显示的日历:

//$('#calendar').fullCalendar()

var myCalendar = $('#calendar');
myCalendar.fullCalendar();

// Adding a Simple event
var myEvent = {
    title: "New Event Added",
    allDay: true,
    start: new Date(),
    end: new Date()
};        

myCalendar.fullCalendar('renderEvent', myEvent);
Run Code Online (Sandbox Code Playgroud)

jquery fullcalendar asp.net-mvc-4

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

使用InvariantCulture或CurrentCulture格式化异常消息?

抛出异常时,我经常传入一个格式化的字符串,该字符串公开有关已发生问题的详细信息.如果可能的话,我总是指定格式化提供程序(这是一种很好的做法,因为否则您可能会忘记确定哪种文化是合适的,并且默认情况下是当前文化,这可能会导致许多错误).

这是一个例子:

throw new InvalidOperationException(
    string.Format(
        CultureInfo.CurrentCulture,
        "{0} is a bad number.",
        number));
Run Code Online (Sandbox Code Playgroud)

我很想使用CurrentCulture,如上所示,因为异常消息是针对人类的(当然,代码永远不会对异常消息本身起作用).消息将使用客户端的文化格式化,因此每当我需要将其显示给我的客户端时,它看起来很不错.

但是,除了向用户显示消息外,还可以将异常记录到日志文件中.我看到很多邮件都放在我的日志文件中,各种文化用于格式化它们.蛮丑的!在这种情况下,InvariantCulture更合适或者可能是托管日志文件的服务器的文化.

这里的要点是,在格式化异常时,您永远不会知道您的受众,因此在格式化时似乎无法确定要使用的文化.如果能够将格式推迟到捕获异常的位置,那将会很棒,但这将远远超出.NET中实现异常的方式.

那你对此有何看法?

.net c# resources exception cultureinfo

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

erlang使用100%的CPU之一

我的项目被冻结的情况.我看到只有100%使用其中一个CPU(其余为0%,但我使用的是SMP).

我的管理控制台说:

=ERROR REPORT==== 11-Feb-2011::00:45:00 ===
** Node 'node@example.com' not responding **
** Removing (timedout) connection **
Run Code Online (Sandbox Code Playgroud)

之后我无法连接到节点.

如果我使用C++进行编程,我可以进行调试构建,当出现这种情况时,我可以附加到我的进程并查看它循环的代码.

但我怎么能在Erlang中做到这一点?我怎样才能获得调用堆栈或其他东西来帮助我理解错误的原因?

感谢您的任何帮助.

erlang stack-trace

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

ASP.NET MVC 5(Visual Studio 2013 Preview)更改[授权]的登录URL

嘿伙计们我开始玩ASP.NET MVC 5预览,到目前为止一切都很好(我只能推荐它).

但是,我想知道在哪里可以为Built-In [Authorize]-Attribute 设置Login-Url .我搬到了AccountController一个区域,因此该路径登录动作不再/Account/Login,但是MyArea/Account/Login,这是由忽略[Authorize]-Attribute,这反过来又意味着,每当一个导航设置,一个控制器或动作与属性被重定向到错误的路径/Account/Login.

asp.net-mvc asp.net-mvc-routing asp.net-mvc-5

3
推荐指数
2
解决办法
3316
查看次数

C#中带参数的构造方法

C#问题:我如何使用构造函数:

AcctHolder ah1 = new AcctHolder("Dumitru", "St", "Bucharest");
Run Code Online (Sandbox Code Playgroud)

并能够获得ah1.Fname?(而不是null)

using System;

    namespace ConsoleApplication1
    {
        class ATM
        {
            public static void Main(string[] args)
            {
                AcctHolder ah1 = new AcctHolder("Dumitru", "St", "Bucharest");
                Console.WriteLine(ah1.FName); //returns null - why???

                AcctHolder ah2 = new AcctHolder();
                ah2.FName = "Dumi";
                Console.WriteLine(ah2.FName); // returns "Dumi"

                Console.ReadKey();
            }


            public class AcctHolder
            {
                private string fname, lname, city;
                public string FName { get; set; }
                public string LName { get; set; }
                public string City {
                    get { …
Run Code Online (Sandbox Code Playgroud)

c#

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

如何使用公式和列规范映射NHibernate实体属性

我正在尝试以这样的方式映射实体属性:它将其值写入数据库列,但使用公式检索其值.

为了关注实际问题,我简化了示例.实际上,公式有点复杂,并且正在使用NHibernate过滤器.

<many-to-one cascade="all" class="Thing" lazy="false" name="MyThing"
    formula="(SELECT Things.Value FROM Things WHERE Things.Id = MyThingId)">
    <column name="MyThingId" />
</many-to-one>
Run Code Online (Sandbox Code Playgroud)

但是,除非我删除该<column name="MyThingId" />行,否则将忽略该公式.

为了让NHibernate使用公式,我将如何修复此映射?

nhibernate nhibernate-mapping

0
推荐指数
1
解决办法
1141
查看次数