相关疑难解决方法(0)

如何使用EF代码优先POCO创建视图

那么简单.我需要使用Code First 创建一个View.我在Google和SO上都没有发现任何相关信息.有没有办法实现这个目标?

我需要使用linq创建和查询该视图,因此它不是使用数据库创建脚本创建它的解决方案,例如:

var results = from c in db.Customer
join v in db.MyView on c.Id equals v.Id
select c;
Run Code Online (Sandbox Code Playgroud)

解决方案也是可以接受的.我需要一种方法来查询实体与非常量/非实体值.

c# linq entity-framework ef-code-first

39
推荐指数
4
解决办法
5万
查看次数

首先从EF 6.1代码生成SQL视图

我刚刚将数据库从数据库首先更改为代码!部署有多大改进!但现在我有以下问题.我从我的数据库生成了我的代码优先模型,但是在从生成的代码重新创建数据库后,我的数据库中的视图就像表一样生成了!

如何首先从代码生成我的视图?和/或如果我需要手动生成它们,将它们映射到我的实体?

编辑.

Luke McGregor的帖子肯定让我很亲近.是的,它现在生成视图.但迁移不起作用.

尝试执行Update-Database语句时,初始输出仍然是代码更改.

因此,我执行了Add-Migration xxx命令并再次触发了Update-Database命令.

编辑2:

解决我的代码优先代码和视图的SQL代码之间的一些差异解决了这个问题!

c# entity-framework entity-framework-6.1

5
推荐指数
1
解决办法
6608
查看次数

如何首先使用EF代码映射现有的sql server视图

我是EF的新手并且首先学习EF代码.我正在寻找一个知识,首先用EF代码映射现有的sql server视图.我用POCO映射了我的视图,但得到了以下错误.

当我尝试从视图中获取数据时,抛出以下错误

附加信息:自创建数据库以来,支持'TestDBContext'上下文的模型已更改.考虑使用Code First Migrations来更新数据库

我的完整代码如下

public class TestDBContext : DbContext
    {
        public TestDBContext()
            : base("name=TestDBContext")
        {
        }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Configurations.Add(new vwCustomerConfiguration());
        }

        public DbSet<vwCustomer> vwCustomer { get; set; }
    }

public class vwCustomerConfiguration : EntityTypeConfiguration<vwCustomer>
{
    public vwCustomerConfiguration()
    {
        this.HasKey(t => t.CustomerID);
        this.ToTable("vwCustomer");
    }
}

      public class vwCustomer
        {
            public int CustomerID { get; set; }
            public string FirstName { get; set; }

        }
Run Code Online (Sandbox Code Playgroud)

这样我试图加载数据.

    using (var db = new TestDBContext())
    {
        var listMyViews …
Run Code Online (Sandbox Code Playgroud)

entity-framework

5
推荐指数
1
解决办法
1万
查看次数

访问/使用View Entity Framework 6 Code First方法

我创建了其它表/实体完成某些相当复杂的逻辑,并公开了一系列columns.All的,我想访问实体框架代码第一种方法这一观点,当我在看到讨论SQL Server视图我只是跟着创造一个类"FooView.cs"并将其添加到DbSet<FooView>我的DbContext类的属性中.

     public class FooView
     {
      public string PartNumber { get; set; }
      public string PartType   { get; set; }
     }
     public class CatalogContext : DbContext
     {
       public DbSet<FooView> FooView { get; set; }
     }
Run Code Online (Sandbox Code Playgroud)

但是当我运行我的代码时,我得到一个错误说:EntityType'FooView'没有定义键.定义此EntityType的键.

      CatalogContext _db = new CatalogContext();
      var l = _db.FooViews.Select(_ => _.PartNumber);
Run Code Online (Sandbox Code Playgroud)

但我想要它做的就是从DB访问我的视图 dbo.FooView

更容易解决此问题的方法是创建EDMX文件并访问视图,但我不希望有2个DB上下文.

如果有人能帮助我,我真的很感激,非常感谢.

c# entity-framework ef-code-first

4
推荐指数
1
解决办法
5884
查看次数

使用Entity Framework 6 Code First创建SQL视图

我是Entity Framework 6 Code First的新手,我正在尝试执行我认为简单的任务.我想创建一个SQL视图,然后在我的数据库上下文中有一个Entity,我可以使用它来查询视图.

我曾尝试如文章但对我来说最关键的区别是,SQL视图是不是从另一个现有的数据库即将现有视图.

我检查了本文中提出的命题,但对我来说似乎有点过分,我需要创建一些扩展方法来做一些简单的事情,比如创建一个视图/实体组合并在我的数据库上下文中使用它.

我错过了什么吗?我知道如果我不使用Code First会更容易,但请记住它是Code First,我正在尝试创建一个视图,而不是重用现有数据库中的视图.

c# sql-server entity-framework ef-code-first

4
推荐指数
2
解决办法
9754
查看次数

实体框架代码优先:查询没有主键的视图

我们的客户可以访问没有定义主键的视图.我知道实体框架需要一个主键来表识别.

但是对于没有主键的视图,仍然可以查询.

我试图找到但总是实体框架给出错误说:

错误:: EntityType'ViewWeight'没有定义键.定义此EntityType的键.

我理解密钥对于表很重要,但对于只是为了读取的视图,有任何黑客或方法来读取值而不修改视图本身.

sql oracle entity-framework view ef-code-first

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