在使用视图时,获取具有密钥(PK)的实体将不会往返

时间:2016-06-03 15:38:03

标签: c# sql asp.net

我已经查看了有关此主题的其他问题,其中大部分都提到了编辑edmx文件。我在Visual Studio Express 2015中工作,找不到任何edmx文件,也无法确定错误引用的内容/位置。当我转到一个甚至没有绑定到相关视图的页面时,会生成错误。 最初我使用带有case语句的视图,然后使用union语句更改为视图,然后获取子查询并使其成为单独的视图。出于错误发生原因的想法。违规列是四个图像列。更新:更改了基础数据表并更改了下面的所有表单以使用新表,现在只需要在视图上获取所有对象。表具有在它们之间定义的外键关系。新视图如下:

查看1:

CREATE VIEW [dbo].[V_Questions]
AS SELECT Questions.QuestionID Id, Author, ImageFile, Image1Content, Image1Name, 
ImageFile2, Image2Content, Image2Name, ImageFile3, Image3Content, Image3Name, 
ImageFile4, Image4Content, Image4Name, SubmitDate, Stem, RespA, RespB, RespC, RespD, RespE, Answer, Critique, KeyObjective, [References], PracticeArea1,PracticeArea2,  PracticeArea3, PracticeArea4, IsCloneOf
FROM [Questions] 
Left join Images on Questions.ImageID = Images.ImageID

错误消息(基本未更改,行号已更改,但仍然出现四个图像文件。:

  

' /'中的服务器错误应用

     

(74,10):错误3004:从第
一行开始映射片段的问题   74:没有为属性V_Question指定映射。图像文件,   V_Question.ImageFile2,V_Question.ImageFile3,V_Question.ImageFile4 in   设置V_Question。具有密钥(PK)的实体在以下情况下不会往返:   实体是类型[cs1.Models.V_Question]

认为我已经想出了被抱怨的文件(V_Question.designer.cs)为第74行启动视图的定义。 这是从第74行开始直到/包括第一个图像文件记录的文件,我该如何解决这个问题?:

[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.V_Questions")]
public partial class V_Question
{

    private int _Id;

    private string _Author;

    private System.Data.Linq.Binary _ImageFile;

    private string _Image1Content;

    private string _Image1Name;

    private System.Data.Linq.Binary _ImageFile2;

    private string _Image2Content;

    private string _Image2Name;

    private System.Data.Linq.Binary _ImageFile3;

    private string _Image3Content;

    private string _Image3Name;

    private System.Data.Linq.Binary _ImageFile4;

    private string _Image4Content;

    private string _Image4Name;

    private string _SubmitDate;

    private string _Stem;

    private string _RespA;

    private string _RespB;

    private string _RespC;

    private string _RespD;

    private string _RespE;

    private string _Answer;

    private string _Critique;

    private string _KeyObjective;

    private string _References;

    private string _PracticeArea1;

    private string _PracticeArea2;

    private string _PracticeArea3;

    private string _PracticeArea4;

    private int _IsCloneOf;

    public V_Question()
    {
    }

    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Id", DbType="Int NOT NULL")]
    public int Id
    {
        get
        {
            return this._Id;
        }
        set
        {
            if ((this._Id != value))
            {
                this._Id = value;
            }
        }
    }

    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Author", DbType="NVarChar(100) NOT NULL", CanBeNull=false)]
    public string Author
    {
        get
        {
            return this._Author;
        }
        set
        {
            if ((this._Author != value))
            {
                this._Author = value;
            }
        }
    }

    [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ImageFile", DbType="VarBinary(MAX)", UpdateCheck=UpdateCheck.Never)]
    public System.Data.Linq.Binary ImageFile
    {
        get
        {
            return this._ImageFile;
        }
        set
        {
            if ((this._ImageFile != value))
            {
                this._ImageFile = value;
            }
        }
    }

0 个答案:

没有答案