mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-12-21 10:59:56 +08:00
Mapping EF Table(Name='')
This commit is contained in:
@@ -1,11 +1,16 @@
|
||||
using SqlSugar;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Data.Linq.Mapping;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace OrmTest.Demo
|
||||
{
|
||||
/// <summary>
|
||||
/// mapping ef attribute
|
||||
/// </summary>
|
||||
public class ExtEntity: DemoBase
|
||||
{
|
||||
public static void Init()
|
||||
@@ -16,22 +21,36 @@ namespace OrmTest.Demo
|
||||
IsAutoCloseConnection = true,
|
||||
ConfigureExternalServices=new ConfigureExternalServices() {
|
||||
EntityService = (property, column) => {
|
||||
if (property.Name == "xxx") {
|
||||
if (property.Name == "xxx") {// by name ignore column
|
||||
column.IsIgnore = true;
|
||||
}
|
||||
//property.GetCustomAttributes
|
||||
var attributes = property.GetCustomAttributes(true);//get all attributes
|
||||
|
||||
if (attributes.Any(it => it is KeyAttribute))// by attribute set primarykey
|
||||
{
|
||||
column.IsPrimarykey = true;
|
||||
}
|
||||
},
|
||||
EntityNameService = (type,entity) => {
|
||||
var attributes = type.GetCustomAttributes(true);
|
||||
if (attributes.Any(it => it is TableAttribute))
|
||||
{
|
||||
entity.DbTableName = (attributes.First(it => it is TableAttribute)as TableAttribute).Name;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
var sql=db.Queryable<StudentTest>().ToSql();
|
||||
var sql2 = db.Insertable<StudentTest>(new StudentTest()).ToSql();
|
||||
var sql=db.Queryable<StudentTest>().ToList();
|
||||
var sql2 = db.Insertable<StudentTest>(new StudentTest()).ExecuteCommand();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
[Table(Name ="student")]//default
|
||||
public class StudentTest {
|
||||
|
||||
[Key]
|
||||
public string Id { get; set; }
|
||||
public string xxx { get; set; }
|
||||
public string Name { get; set; }
|
||||
|
||||
Reference in New Issue
Block a user