小编Jer*_*oen的帖子

LINQ To Entities + Include +匿名类型问题

考虑:

类客户

班级项目

班级门票

班级回复

客户有一个项目的子集合,项目有一个子集合的票证和票据有一个子集合的回复.

var data = ctx.Set<Ticket>().Include(p => p.Client).
Select(p => new { Ticket = p, LastReplyDate = p.Replies.Max(q => q.DateCreated)});
Run Code Online (Sandbox Code Playgroud)

不行.以这种方式选择数据时,既不加载项目也不加载客户端.

我知道如何让它发挥作用.我的问题是为什么它不能这样工作?

linq-to-entities entity-framework ef-code-first

13
推荐指数
2
解决办法
3182
查看次数

linq foreach表现

我正在迭代一个包含大约1000个元素的匿名类型.

这里的问题是我的循环可能需要几乎3秒才能完成,而循环内部发生的时间不到1毫秒.有一千个元素,我认为循环必须在第二个内完成,而不是3.

有没有办法让它迭代更快?

// takes 1ms to complete
        var x = tt.Where(p => p.Methods.Count() > 0 && p.PerWeek != this.Project.WorkDaysCount && !p.IsManual);

// takes almost 3 seconds to complete
                    foreach (var item in x)
                    {
                        // do stuff that takes < 1 ms
                    }
Run Code Online (Sandbox Code Playgroud)

linq asp.net optimization

7
推荐指数
3
解决办法
768
查看次数

单方面的方法和约束

我跑到了以下地方:

public void AddConfig<T>(Config c)  where T : BaseTypeA
{
// do stuff
}

public void AddConfig<T>(Config c)  where T : BaseTypeB
{
// do stuff
}
Run Code Online (Sandbox Code Playgroud)

我很想能够做到这一点.但我认为这是不可能的.编译器忽略约束.为什么?(我知道这是设计的).

我认为我的两个选择是:

  1. 制作2个不同的功能.
  2. 制作2个不同的配置类.

对?

c# generics

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

ObjectStateManager.TryGetObjectStateEntry为附加对象返回false

TryGetObjectStateEntry返回false,但是当我尝试附加实体时,我得到'具有相同键的对象已存在于ObjectStateManager中.ObjectStateManager无法使用相同的键跟踪多个对象.

实体键的类型为Guid.

这怎么可能?

编辑:我正在附加2个具有不同键的实体.错误始终发生在我附加的此类型的第二个实体上.如果我交换它们,错误仍然在第二个.

    public bool IsAttached<T>(T obj) where T : class
    {
        ObjectStateEntry entry = null;

        ObjectContext objCtx = GetObjectContext();

        bool isKeyAttached = false;

        EntityContainer container = objCtx.MetadataWorkspace.GetEntityContainer(objCtx.DefaultContainerName, DataSpace.CSpace);
        EntitySetBase entitySet = container.BaseEntitySets.Where(item => item.ElementType.Name.Equals(typeof(T).Name)).FirstOrDefault();
        System.Data.EntityKey key = objCtx.CreateEntityKey(entitySet.Name, obj);

        if (objCtx.ObjectStateManager.TryGetObjectStateEntry(key, out entry))
        {
            isKeyAttached = entry.State != System.Data.EntityState.Detached;
        }

        return isKeyAttached;
     }
Run Code Online (Sandbox Code Playgroud)

entity-framework-4 ef-code-first

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

GetWeekOfYear返回错误的结果?

2013年第1周开始于31-12-2012,因为它是星期一.

呼吁GetWeekOfYear与文化nl-NL,FirstDayOfWeek.MondayCalendarWeekRule.FirstFourDayWeek返回星期一31-12-2012星期53号和星期一1-1-2013星期1周.那个星期一怎么能有一个不同于周二的周数?

我错过了什么吗?

.net c#

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

仅搜索某些文件

在VS2010中,是否可以仅在某种文件类型中进行搜索?我想只搜索我的cs代码并从数据集和edmx文件中排除.aspx文件和VS生成的代码.

visual-studio-2010

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

将数字转换为字母组合

我需要将1到6000000之间的数字转换为像ABCDE这样的字母组合.少写字母更好.但我猜我需要4或5.

有人能指出我正确的方向,如何编写一个算法将数字转换为字母和背面?只有AZ.(帽).

c# algorithm hexavigesimal

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

JQuery append()

为什么以下代码只附加第一个div我添加而不是全部?(为了争论,我删除了一些代码).

有关如何使用jquery动态构造一些嵌套div的任何提示都是受欢迎的.

    var divRow;
    var nRow = 0;
    var i = 0;

     $.each(data, function (key, value) {        
          nRow++;
          div.append("<div id='divRow" + nRow + "' style='position: relative; float: left; '></div>");
          divRow = $('divRow' + nRow);

          divRow.append("<div id='divBox" + i + "' style=position: relative; clear: both; padding: 5px'></div>");

          var divBox = $('divBox' + i);

          divBox.append("<div style='position: relative; clear: both; padding: 5px'>" + value.Word + "</div>");
          divBox.append("<div style='position: relative; clear: both; padding: 5px'>" + value.Description + "</div>");

          i++;
 });
Run Code Online (Sandbox Code Playgroud)

jquery

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