.net2010 MVC3 遇到問題

来源:互联网 发布:网络诈骗怎么定罪 编辑:程序博客网 时间:2024/05/17 02:10

在用.net2010 MVC3開發時遇到如下問題:

一、在創建控制器時跳出提示無上下文。

解決辦法:

1、在web-config配製文件處配製連接數據庫,如下所示:

 <add name="ConnStr" connectionString="server=192.168.0.52;database=qpsystemdb_20130131;uid=pbdevelop;pwd=powerkit"  providerName="System.Data.Sqlclient"/>

2、在Models文件夾下建一個類,類名必須是上面的name名字ConnStr,此類中的代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;

namespace MyMvc0417.Models
{
    public class ConnStr:System .Data .Entity .DbContext
    {

        //以下是實體類與數據庫關聯的信息
        public System.Data.Entity.DbSet<Models.UserTest> UserTests { set ;get;}
        public System.Data.Entity.DbSet<Models.FileInfo> FileInfoes { set; get; }
        public System.Data.Entity.DbSet<Models.AuyeungTest> AuyeungTests { set; get; }
    }
}

二、在創建控制器時跳出如下圖所示提示


解決方法:

在WEB-Config配制文件中未加入providerName="System.Data.Sqlclient",把它加入即可如下所示:

 <add name="ConnStr" connectionString="server=192.168.0.52;database=qpsystemdb_20130131;uid=pbdevelop;pwd=powerkit"  providerName="System.Data.Sqlclient"/>


三、在創建控制器(如圖一所示:)時跳出如下圖所示提示:

圖一:



圖二:

解決方法

在對應的實體類中說明主建屬性是哪一個如下所示

先到上面using System.ComponentModel.DataAnnotations;

 [Key]
 public int FileId { get; set; }


四、The connection string 'ConnStr' in the application's configuration file does not contain the required providerName attribute."

報以上錯誤信息是因為在配製文件中未加入providerName="System.Data.Sqlclient" 在裡面加入即可,如下所示:

 <add name="ConnStr" connectionString="server=192.168.0.52;database=qpsystemdb_20130131;uid=pbdevelop;pwd=powerkit"  providerName="System.Data.Sqlclient"/>


五、插入信息時報如下錯誤信息:

异常详细信息:System.Data.SqlClient.SqlException: String or binary data would be truncated.The statement has been terminated.

解決辦法:是因为数据库中定义的字段长度比较小,在插入或者更新的时候,用一个比这个字段长度大的值去操作,就会引起这个错误。


六、運行時報如下錯誤信息:


异常详细信息: System.Data.Entity.ModelConfiguration.ModelValidationException: One or more validation errors were detected during model generation:

System.Data.Edm.EdmEntityType: : EntityType 'FileInfos' has no key defined. Define the key for this EntityType.
System.Data.Edm.EdmEntitySet: EntityType: EntitySet �FileInfos� is based on type �FileInfos� that has no keys defined.

解決辦法:是因為未設置主鍵,在對應的實體類中的主鍵上面加入[Key],並將using System.ComponentModel.DataAnnotations;導入即可。