我正在尝试保存我的联系人,其中提到了ContactRelation(只是联系人,已婚,单身等的关系)和国家.但每当我尝试保存我的联系人时,我都会得到例外"ADO.Net实体框架实例对象不能被IEntityChangeTracker的多个实例引用"
public Contact CreateContact(Contact contact)
{
_entities.AddToContact(contact); //throws the exception
_entities.SaveChanges();
return contact ;
}
Run Code Online (Sandbox Code Playgroud)
我正在使用松散耦合的MVC设计与服务和存储库.我已经阅读了很多关于这个例外的帖子,但没有一个给我一个有效的答案......
谢谢你,彼得
我刚刚发现了函数编程风格,我相信它会减少开发工作,使代码更容易阅读,使软件更易于维护.然而,问题是我在说服任何人.
好吧,最近我有机会就如何减少软件开发和维护工作发表演讲,我想向他们介绍函数式编程的概念以及它如何使团队受益.我有这样的想法,即向人们展示两组完全相同的代码,一个以非常强制的方式编码,另一个以非常实用的方式编写,以表明函数式编程可以使代码更简单,更容易理解和因此可维护.是否有这样的例子,除了Luca Bolognese的着名的平方和例子?
如何在Google代码中停用源标签?我不希望任何随机用户查看我的代码.
在您说不能这样做之前,Google Code默认是开源的.不知怎的,有人设法做到了.
编辑:在您进一步投票之前,请查看我提供的链接.无论你想说什么,它都可以做到.我想知道如何.
我有一个元素列表'(abc),我想找到x是否(真或假)x,例如,x可以是'a或'd.这有内置功能吗?
我没有在.sln文件中看到它,这是我的预期.
你如何在不同类型的jsp中正确呈现对象列表?比如说,我必须以指定的顺序渲染这些不同的对象.
一种方法可能是使用公共类型变量或instanceof,但这意味着有一个大的switch/if语句来管理它们:
<c:forEach var="o" items="${bigListofObjects}" >
<c:choose>
<c:when test='${o.type=="simple"}' >
<!-- render simple -->
</c:when>
<c:when test='${o.type=="complex"}' >
<!-- render complex -->
</c:when>
<!-- etc etc ... -->
</c:choose>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)
我可以为每个类添加一个render()方法,但这意味着将视图与其余代码混合.
如果我想稍后渲染另一种类型会发生什么?我可以用自定义jsp标签做些什么吗?
这个问题与Symbian OS有关,但我认为C/C++老手也可以帮助我.我正在为Symbian OS编译一个开源库.使用GCCE编译器,它编译没有错误(经过一些修补:)).我将编译器更改为ARMV5,现在我对静态const结构的定义有多个错误,例如:我有一个结构:
typedef struct Foos{
int a;
int b;
} Foos;
Run Code Online (Sandbox Code Playgroud)
以下定义了Foos类型的const结构
static const Foos foo = {
.a = 1,
.b = 2,
};
Run Code Online (Sandbox Code Playgroud)
GCCE对此没有任何问题,ARMV5在".a = 1,.b = 2"上出现"预期表达式"错误.从我用Google搜索的内容来看,我认为这种方法在C语言中应该是合法的,但在C++中是非法的,如果是这样的话,那么在C++中声明const结构的可能性是什么?如果情况并非如此,那么任何其他帮助将不胜感激.
提前致谢 :)
在他出色的着作"CLR Via C#"中,杰弗里里希特说他不喜欢属性,并建议不要使用它们.他给出了一些理由,但我并不理解.任何人都可以向我解释为什么我应该或不应该使用属性?在C#3.0中,具有自动属性,这会改变吗?
作为参考,我添加了Jeffrey Richter的观点:
•财产可以是只读的或只写的; 字段访问始终是可读写的.如果定义属性,最好同时提供get和set访问器方法.
•属性方法可能会抛出异常; 字段访问永远不会抛出异常.
•属性不能作为out或ref参数传递给方法; 一个领域可以.例如,以下代码将无法编译:
using System;
public sealed class SomeType
{
private static String Name
{
get { return null; }
set {}
}
static void MethodWithOutParam(out String n) { n = null; }
public static void Main()
{
// For the line of code below, the C# compiler emits the following:
// error CS0206: A property or indexer may not
// be passed as an out or ref parameter
MethodWithOutParam(out Name);
} …Run Code Online (Sandbox Code Playgroud) 将一个组件捆绑到另一个组件中的最佳做法是什么?我有一个我正在分发的程序集,但是我在其中使用了几个第三方程序集,而且我不想分发多个程序集.
所以,我想将几个程序集编译成我分发的程序集,以便它们只是内置的.
这是最好的做法是什么?我知道我可以将其他程序集放在我的项目中并将它们设置为"嵌入式资源",但是如何让它们再次退出,这意味着如何将它放到我可以实例化嵌入式程序集中定义的类的地方?
我见过Assembly.Load方法,但似乎想要一个文件路径.是否有另一种方法来加载嵌入式程序集?你如何告诉Load方法汇编的位置?
加载嵌入式程序集后,它是否只是神奇地在范围内,我可以自由地实例化类吗?
我正在编写一个插件,以便在您访问网站时自动突出显示文本字符串.这就像突出显示搜索结果,但自动和许多单词; 它可以用于过敏的人,使单词真正脱颖而出,例如,当他们浏览食物网站时.
但我有问题.当我尝试关闭一个空的,新鲜的FF窗口时,它会以某种方式阻止整个过程.当我终止进程时,所有窗口都消失了,但Firefox进程保持活动状态(父PID为1,不监听任何信号,打开大量资源,仍然占用CPU,但不会让步).
所以有两个问题:
如何一个进程不听kill -9(既不是用户也不是root用户)怎么可能?
除了重启之外,有什么我可以做的吗?
[编辑]这是违规的过程:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
digulla 16688 4.3 4.2 784476 345464 pts/14 D Mar28 75:02 /opt/firefox-3.0/firefox-bin
Run Code Online (Sandbox Code Playgroud)
与...相同 ps -ef | grep firefox
UID PID PPID C STIME TTY TIME CMD
digulla 16688 1 4 Mar28 pts/14 01:15:02 /opt/firefox-3.0/firefox-bin
Run Code Online (Sandbox Code Playgroud)
这是剩下的唯一过程.正如你所看到的,它不是一个僵尸,它正在运行!它不会听杀-9,无论我是用PID还是名字杀了!如果我尝试连接strace,那么strace也挂起并且不能被杀死.也没有输出.我的猜测是FF挂起了一些内核例程但是哪个?
[EDIT2]根据sigjuice的反馈:
ps axopid,comm,wchan
Run Code Online (Sandbox Code Playgroud)
可以向您显示进程挂起的内核例程.就我而言,有问题的插件是Beagle Indexer(openSUSE 11.1).禁用插件后,FF又是一只快速而快乐的狐狸.