我想向模型中添加更多驗證消息註釋(這裏的所有模型都是先由數據庫生成的),所以我在此鏈接https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/database-first-development/enhancing-data-validation的幫助下使用了元數據。沒有模型更新,但生成失敗並顯示警告,而不是:首先在實體框架中從數據庫中更新元數據模型不起作用
錯誤6046:無法生成存儲函數'fn_diagramobjects'的函數導入返回類型。
錯誤CS1061'Account'沒有包含'ConfirmPassword'的定義,也沒有找到接受'Account'類型的第一個參數的擴展方法'ConfirmPassword'(你是否缺少using指令或程序集引用?)項目-ASP-MVC d:.NET演示\項目\項目-ASP-MVC \ \控制器85 UserController.cs主動
這是我的模型從數據庫中生成:
using System;
using System.Collections.Generic;
public partial class Account
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public Account()
{
this.Orders = new HashSet<Order>();
}
public string username { get; set; }
public string password { get; set; }
public Nullable<int> role_id { get; set; }
public virtual Role Role { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<Order> Orders { get; set; }
}
元.cs:
個using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Web;
namespace project_asp_mvc.Models
{
public class AccountMetadata
{
[Required]
[StringLength(50, ErrorMessage = "Username con not be longer than 50")]
[EmailAddress]
public string username { get; set; }
[Required]
[DataType(DataType.Password)]
public string password { get; set; }
[Required]
[NotMapped]
[DataType(DataType.Password)]
[Compare("Password", ErrorMessage = "Please confirm your password again")]
public string ConfirmPassword { get; set; }
}
}
PartialClasses.cs
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
namespace project_asp_mvc.Models
{
[MetadataType(typeof(AccountMetadata))]
public partial class Account
{
}
}
如果我刪除它,那麼如何確認2個密碼? –
每次1個奇蹟。現在它甚至沒有建立。讓我們開始運行,以確保沒有更多的問題,然後從那裏開始。 – user8617089
構建成功,但它仍然存在的警告,沒有什麼更新:嚴重性\t代碼\t說明\t項目\t文件\t線\t抑制狀態 警告\t \t錯誤6046:無法生成存儲功能「fn_diagramobjects」的函數導入的返回類型。商店功能將被忽略,並且不會生成功能導入 –