Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# EF代码优先映射视图_C#_Entity Framework_Ef Code First - Fatal编程技术网

C# EF代码优先映射视图

C# EF代码优先映射视图,c#,entity-framework,ef-code-first,C#,Entity Framework,Ef Code First,我首先使用EF代码来创建我的系统 最近我想用它来映射SQL server上的视图,但它有问题 我将模型创建为视图名V_InProcessRMForm 此视图来自其他部门。我无权更改此视图,也不需要更改。我只需要映射此视图中的数据并显示在网页上 public class DmsEntity : DbContext { public DbSet<V_InProcessRMForm> V_InProcessRMForm { get; set; } } public class V

我首先使用EF代码来创建我的系统

最近我想用它来映射SQL server上的视图,但它有问题

我将模型创建为视图名V_InProcessRMForm

此视图来自其他部门。我无权更改此视图,也不需要更改。我只需要映射此视图中的数据并显示在网页上

public class DmsEntity : DbContext
{
    public DbSet<V_InProcessRMForm> V_InProcessRMForm { get; set; }
}

public class V_InProcessRMForm
{
    [Key]
    public string Docid { get; set; }

    public string FormNm { get; set; }
    public string ChangeDocId { get; set; }
    public string Stats { get; set; }
    public string CancelReason { get; set; }
 }

有人能帮我吗?非常感谢。

最后我改变了方式,我用普通EF解决了这个问题。 这将生成edmx文件,我现在可以使用它访问视图数据


非常感谢。

错误很明显。连接字符串中标识的用户没有创建表的权限。hi@PLB正在映射视图是否需要创建表的权限?很明显,您正在尝试从代码优先模型创建数据库实体,EF正在尝试从您尝试映射到的视图中创建表。您不希望它尝试创建数据库对象,因为它已经存在了…Hi@Penfold,我如何避免或更改EF中的代码来创建表?实际上,我不需要创建它。我只是想利用这些数据。谢谢这就是我的意思,你不想为这个实体创建任何东西。如果实体不存在,您是否正在运行试图创建实体的程序?我不确定是否有什么东西可以阻止创建单个实体。您可能需要通过应用程序外部的脚本创建表,而不是为视图添加任何内容。
DmsEntity entity = new DmsEntity();
var l = from a in entity.V_InProcessRMForm