考虑:
类客户
班级项目
班级门票
班级回复
客户有一个项目的子集合,项目有一个子集合的票证和票据有一个子集合的回复.
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)
不行.以这种方式选择数据时,既不加载项目也不加载客户端.
我知道如何让它发挥作用.我的问题是为什么它不能这样工作?
我正在迭代一个包含大约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) 我跑到了以下地方:
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)
我很想能够做到这一点.但我认为这是不可能的.编译器忽略约束.为什么?(我知道这是设计的).
我认为我的两个选择是:
对?
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) 2013年第1周开始于31-12-2012,因为它是星期一.
呼吁GetWeekOfYear与文化nl-NL,FirstDayOfWeek.Monday并CalendarWeekRule.FirstFourDayWeek返回星期一31-12-2012星期53号和星期一1-1-2013星期1周.那个星期一怎么能有一个不同于周二的周数?
我错过了什么吗?
在VS2010中,是否可以仅在某种文件类型中进行搜索?我想只搜索我的cs代码并从数据集和edmx文件中排除.aspx文件和VS生成的代码.
我需要将1到6000000之间的数字转换为像ABCDE这样的字母组合.少写字母更好.但我猜我需要4或5.
有人能指出我正确的方向,如何编写一个算法将数字转换为字母和背面?只有AZ.(帽).
为什么以下代码只附加第一个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)