在用.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;導入即可。