我刚刚下载了实体框架6并创建了一个全新的项目来测试它.我们目前使用EF 5.
添加完所有表和存储过程后,我尝试构建项目但是出现错误:
"System.Data.Objects.ObjectParameter"类型的值无法转换为"System.Data.Entity.Core.Objects.ObjectParameter".
类型'System.Data.Entity.Core.Objects.ObjectResult(Of DataLibrary.MyStoredProc_Result)'的值不能转换为'System.Data.Objects.ObjectResult(Of DataLibrary.MyStoredProc_Result)'.
我无法弄清楚为什么这不会开箱即用
EF 5有这样的问题.
我正在使用VS 2012. .Net 4.5 Vb.net(也试过一个C#项目......同样的问题)
有任何想法吗?
编辑:
答案是为VS 2012安装EF6工具.我不知道我必须这样做,因为我认为在我添加Entity Framework包时安装了它.
我在使用WPF时遇到了一些麻烦.当我将标签添加到我的app.xaml时,我可以在跳转列表中看到任务,但是当我尝试将项目添加到最近的文件列表时,我添加的新项目永远不会显示.如果我创建一个名为"Recent"的CustomCategory并手动添加JumpTask,它就会显示出来.但是,如果我重新启动应用程序,则新添加的JumpTask不再存在,只是测试任务.
澄清
最初,我遇到了JumpList.AddToRecentCategory根本无法正常工作的问题.它永远不会添加到最近的列表中.Gayot Fow帮助解决了这个问题.但问题仍然存在,如果我手动添加一个自定义类别的JumpTask,那么所有最近的文件都会清除,如果我打开一个文件并调用addToRecent,它就不会显示出来.如果我删除xaml中声明的JumpTask,则会显示最近的文件.
XAML:
<JumpList.JumpList>
<JumpList ShowRecentCategory="True">
<JumpTask Title="Test" Description="Test"
Arguments="/test" CustomCategory="Tasks" />
</JumpList>
</JumpList.JumpList>
Run Code Online (Sandbox Code Playgroud)
C#代码添加最近的项目
var jumpList = JumpList.GetJumpList(Application.Current);
if (jumpList == null) return;
//create a jump task
var jt = new JumpTask();
jt.Title = System.IO.Path.GetFileNameWithoutExtension(FileName);
jt.Description = jt.Title;
jt.CustomCategory = jt.Title;
jt.ApplicationPath = FileName;
//JumpList.AddToRecentCategory(jt);
jt.CustomCategory = "Recent";
jumpList.JumpItems.Add(jt);
jumpList.Apply();
Run Code Online (Sandbox Code Playgroud)
无论我是从Visual Studio 2013(更新2)运行应用程序,还是从调试目录运行exe,都会发生这种情况.有没有人有任何想法为什么这不起作用?
我在某处读到了ClickOnce部署的应用程序无法正常工作,但在部署之前我甚至无法让它工作.
任何帮助将不胜感激,谢谢.
UPDATE
Gayot Fow的回答引导我用静态方法解决问题
JumpList.AddToRecentCategory(jt);
Run Code Online (Sandbox Code Playgroud)
什么都不做
我更改了我的AddToRecent代码,如下所示:
var jumpList = JumpList.GetJumpList(Application.Current);
if (jumpList == null) return;
string title = System.IO.Path.GetFileNameWithoutExtension(FileName);
string programLocation = …Run Code Online (Sandbox Code Playgroud)