小编bil*_*lly的帖子

在代码第一实体框架中手动编辑数据库

我一直在尝试使用MVC 3的EF 4.1(代码优先).我正在考虑应用程序何时需要更改.我测试了几个场景.我喜欢在模型(我的POCO)发生变化时手动编辑数据库的想法.

更改模型时出现ASP.NET错误:

"自创建数据库以来,支持'CTCMContext'上下文的模型已经发生了变化.手动删除/更新数据库......"

现在,它说我可以" 手动更新数据库 ",但我做了,仍然得到相同的错误.我错过了什么!!?!

编辑

这与EF生成的模型哈希有关吗?

migration data-migration entity-framework ef-code-first entity-framework-4.1

12
推荐指数
1
解决办法
5725
查看次数

使用LINQkit在LINQ to Entities Select中调用Expression

这就是我想要做的事情:

class MyDbContext : DbContext 
{
    private static Expression<Func<MyClass, int>> myExpression1 = x => /* something complicated ... */;
    private static Expression<Func<Item, int>> myExpression2 = x => /* something else complicated ... */;

    public object GetAllData()
    {
        return (
            from o in MyClassDbSet.AsExpandable() 
            select new 
            {
                data1 = myExpression1.Invoke(o),                      // problem 1
                data2 = o.Items.Select(myExpression2.Compile())       // problem 2
            }
        );
    }
}
Run Code Online (Sandbox Code Playgroud)

更新:

myExpression 必须与我的查询保持分离,因为我想在多个LINQ查询中重用它.

更新2:

分离myExpressionmyExpression1myExpression2明确指出,我想单独重用他们的事实.

更新3:

添加了LINQkit示例.

问题1抛出:无法将"System.Linq.Expressions.FieldExpression"类型的对象强制转换为"System.Linq.Expressions.LambdaExpression".

问题2抛出:内部.NET Framework数据提供程序错误1025.

c# linq-to-entities linq-expressions linqkit

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