昨日VisualStudio2012(RTM、mytt DreamSparkアカウント経由)をインストールし、デモMVCサイトを作成しました(Azureでサポートされることを希望しているため.NET 4.0を使用)。
プロジェクトの調査を開始し、外部サービス(Facebook、Twitter、Windows Live、Google)を使用するための組み込みオプションに加えて、メンバーシップスキーマ全体が変更されていることがわかりました。
新しい構造には4つのテーブルが含まれています(UserProfileは最初のコードのアプローチであるEntity Frameworkテーブルです)。テーブルプレフィックスは「webpages_」ですが、適切なMVC4サイトであることに注意してください。
AccountModels.csファイルを開いて、それも変更されていることを確認しました。
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity;
using System.Globalization;
using System.Web.Mvc;
using System.Web.Security;
namespace MyGuestbook.Models
{
public class UsersContext : DbContext
{
public UsersContext()
: base("DefaultConnection")
{
}
public DbSet<UserProfile> UserProfiles { get; set; }
}
[Table("UserProfile")]
public class UserProfile
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public string UserName { get; set; }
}
public class RegisterExternalLoginModel
{
[Required]
[Display(Name = "User name")]
public string UserName { get; set; }
public string ExternalLoginData { get; set; }
}
public class LocalPasswordModel
{
[Required]
[DataType(DataType.Password)]
[Display(Name = "Current password")]
public string OldPassword { get; set; }
[Required]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "New password")]
public string NewPassword { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Confirm new password")]
[Compare("NewPassword", ErrorMessage = "The new password and confirmation password do not match.")]
public string ConfirmPassword { get; set; }
}
public class LoginModel
{
[Required]
[Display(Name = "User name")]
public string UserName { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
[Display(Name = "Remember me?")]
public bool RememberMe { get; set; }
}
public class RegisterModel
{
[Required]
[Display(Name = "User name")]
public string UserName { get; set; }
[Required]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Confirm password")]
[Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]
public string ConfirmPassword { get; set; }
}
public class ExternalLogin
{
public string Provider { get; set; }
public string ProviderDisplayName { get; set; }
public string ProviderUserId { get; set; }
}
}
だから私は尋ねたいと思います:-これは新しいユーザー構造(asp_regsql.exeから生成されたもの)ですか、それともテンプレート固有の構造ですか?-誰かが新しい構造とそれと統合する方法についてのドキュメントを持っていますか?-古い構造の「古い」プロジェクト(MVC 3プロジェクトなど)を新しいプロジェクトに移行する方法を知っている人はいますか?
ありがとう!:)