Tag: C#的

如何强制entity framework始终从数据库中获取更新的数据?

我正在使用EntityFramework.Extended库来执行批量更新。 唯一的问题是EF没有跟踪由库执行的批量更新。 所以当我再次查询DbContext时,它不会返回更新的实体。 我发现在查询时使用AsNoTracking()方法会禁用跟踪并从数据库获取新的数据。 但是,由于EF不跟踪使用AsNoTracking()查询的实体,因此我无法对查询的数据执行任何更新。 有没有办法强制EF在跟踪更改时获取最新数据?

引用一个超出范围的char *

我最近开始用C语言编程一段时间后,再次用C编程,而我对指针的理解有点生疏。 我想问问为什么这个代码不会造成任何错误: char* a = NULL; { char* b = "stackoverflow"; a = b; } puts(a); 我认为,因为b超出了范围, a应该引用一个不存在的内存位置,因此在调用printf时它们将是运行时错误。 我在MSVC中运行这个代码大约20次,没有显示错误。

ObservableCollection和Item PropertyChanged

我已经看到了很多关于这个问题的讨论,但也许我只是一个新手得到它。 如果我有一个可观察的集合,如msdn示例( http://msdn.microsoft.com/en-us/library/ms748365.aspx )中的“PersonNames”的集合,我得到更新我的视图,如果PersonName被添加或删除等等。当我更改PersonName的属性时,我想要更新我的视图。 就像我改变名字一样。 我可以为每个属性实现OnPropertyChanged ,并从INotifyPropertyChanged派生这个类似乎被调用的预期。 我的问题是,视图如何从ObservableCollection获取更新的数据,因为更改的属性不会导致ObservableCollection任何事件。 这可能很简单,但为什么我不能find一个令我惊喜的例子。 任何人都可以摆脱这个对我来说,或有任何指标,我将不胜感激它。 我们在当前的WPF应用程序的多个地方都有这种情况,并且正在努力解决这个问题。 “通常,负责显示数据的代码会向当前显示在屏幕上的每个对象添加一个PropertyChanged事件处理程序。” 有人可以给我一个这是什么意思的例子吗? 我的视图绑定到我有一个ObservableCollection ViewModel 。 此集合由具有支持PropertiesChanged事件的PropertiesChanged的RowViewModel组成。 但我不知道如何使集合更新自己,所以我的观点将被更新。

将对象从MemberExpression中取出?

所以,可以说我在C#中有以下expression式: Expression<Func<string>> expr = () => foo.Bar; 我如何提取foo的引用?

如何在C中显示hex数字?

我有一个数字列表如下: 0,16,32,48 … 我需要以hex输出这些数字: 0000,0010,0020,0030,0040 … 我曾尝试过的解决scheme如: printf("%.4x",a); // where a is an integer 但是我得到的结果是: 0000,0001,0002,0003,0004 … 我想我就在那里。 任何人都可以帮忙,因为我不擅长printf中的printf 谢谢。

为什么C#不允许我将void方法作为return语句的一部分?

我很好奇,如果有一个合法的原因,为什么C#不支持调用void方法作为返回语句的一部分,当调用方法的返回types也是void。 public void MethodA() { return; } public void MethodB() { return MethodA(); } 所以我们通常会看到这个: public void MethodMeh() { if (expression) { MethodA(); return; } // Do more stuff } …当我们可以用这个代替时: public void MethodAwesome() { if (expression) return MethodA(); // Do more stuff } 这是由于C#如何处理无效的语言限制吗?

为什么=操作符在结构上工作而没有被定义?

我们来看一个简单的例子: struct some_struct { std::string str; int a, b, c; } some_struct abc, abc_copy; abc.str = "some text"; abc.a = 1; abc.b = 2; abc.c = 3; abc_copy = abc; 那么abc_copy是abc的精确副本 ..如何不定义=运算符 ? (这使我感到惊讶,当一些代码工作..)

睡眠的意义(0)

我曾经在我的代码的某些部分看到Sleep(0) ,其中有些无限/长时间循环可用。 我被告知,这将使时间片可用于其他等待进程。 这是真的? Sleep(0)有意义吗?

如何使Visual Studio不放{在一个新的行?

如果我有这样的代码 if(true){ 我补充说 } 它被转换成 if (true) { } 但我希望它保持格式 if (true) { } 即使我复制了if这样的代码,它被转换成更长的版本。 PS我明白,这是一个C + +和C#标准使用较长的版本,但是我来自一个不同的标准,并且我更容易使用较短的版本。 我敢打赌,有一些格式化选项可以closures或更改。

如何比较date在C#

我有两个date。 一个date是input,另一个是DateTime.Now 。 我有他们在mm/dd/yyyy格式,它甚至可以是m / d / yy格式也。 两个date都是可空的即数据types是DateTime? ,因为我也可以传递null作为input。 现在我想比较这两个date只能用mm/dd/yyyy或m/d/yy格式。