SchemaZen.Library.Models.SqlUser.ScriptCreate C# (CSharp) Method

ScriptCreate() public method

public ScriptCreate ( ) : string
return string
		public string ScriptCreate() {
			var login = PasswordHash == null ? string.Empty : string.Format(@"IF SUSER_ID('{0}') IS NULL
				BEGIN CREATE LOGIN {0} WITH PASSWORD = {1} HASHED END
", Name, "0x" + new SoapHexBinary(PasswordHash));

			return login +
			       string.Format("CREATE USER [{0}] {1} {2}{3}", Name, PasswordHash == null ? "WITHOUT LOGIN" : "FOR LOGIN " + Name,
				       string.IsNullOrEmpty(Owner) ? string.Empty : "WITH DEFAULT_SCHEMA = ", Owner)
			       + "\r\n" +
			       string.Join("\r\n",
				       DatabaseRoles.Select(
					       r => string.Format("/*ALTER ROLE {0} ADD MEMBER {1}*/ exec sp_addrolemember '{0}', '{1}'", r, Name))
					       .ToArray());
		}
	}

Usage Example

コード例 #1
0
ファイル: UserTester.cs プロジェクト: Zocdoc/schemazen
        public void TestUserNameShouldBeEscaped() {
            var user = new SqlUser("foo.bar", "dbo");
            var createScript = user.ScriptCreate();

            StringAssert.StartsWith("CREATE USER [foo.bar]", createScript);
        }