IF NOT EXISTS(SELECT * FROM sys.columns WHERE [name] = N''columnName'' AND [object_id] = OBJECT_ID(N''tableName''))BEGIN ALTER TABLE ADD COLUMN MYCOLUMNEND
对于表,查询有点类似:
IF (NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = ''TheSchema'' AND TABLE_NAME = ''TheTable''))BEGIN CREATE TABLE MYTABLEEND
class Program
{
staticvoid Main(string[] args)
{
using (var dbContext = new DemoDBContext())
{
Person person = new Person()
{
Name = "Tom",
Age = 20
};
dbContext.Person.Add(person);
dbContext.SaveChanges();
Console.WriteLine(person.Id);//输出:1 }
Console.WriteLine("Press any key to end...");
Console.ReadKey();
}
}
class Program
{
staticvoid Main(string[] args)
{
using (var dbContext = new DemoDBContext())
{
Book book = new Book()
{
BookDescription = "English book",
BookName = "English"
};
dbContext.Add(book);
dbContext.SaveChanges();
Console.WriteLine(book.BookCode);//输出:B5AD3E33-3730-4545-8D45-9BD6DFCD5063 }
Console.WriteLine("Press any key to end...");
Console.ReadKey();
}
}
=============================== EF Core log started ===============================
Executed DbCommand (116ms) [Parameters=[@p0=''?'' (Size = 50), @p1=''?'' (Size = 50)], CommandType=''Text'', CommandTimeout=''30'']
SET NOCOUNT ON;
DECLARE @inserted0 TABLE ([BookCode] nvarchar(50), [_Position] [int]);
MERGE [Book] USING (
VALUES (@p0, @p1, 0)) AS i ([BookDescription], [BookName], _Position) ON 1=0
WHEN NOT MATCHED THEN
INSERT ([BookDescription], [BookName])
VALUES (i.[BookDescription], i.[BookName])
OUTPUT INSERTED.[BookCode], i._Position
INTO @inserted0;
SELECT [t].[BookCode] FROM [Book] t
INNER JOIN @inserted0 i ON ([t].[BookCode] = [i].[BookCode])
ORDER BY [i].[_Position];
=============================== EF Core log finished ===============================