c# - 如何在实体框架中获取列的默认值
问题描述
有没有办法获取实体框架中列的默认值?我似乎无法像创建INFORMATION_SCHEMA.COLUMNS
常规表一样创建表的实体数据模型。
通常,使用 a MySQLConnection
,我会做类似的事情
SELECT COLUMN_DEFAULT FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = @schema AND TABLE_NAME = 'tablename' AND COLUMN_NAME = 'columnname';
解决方案
Get default sql value from Entity Framework class的可能重复项,所以我将引用:
如果您可以访问生成的 DbContext,则可以使用 DbContext.Model 提供的元数据而不是反射(但如果您使用属性设置 DefaultValues,则可以使用反射,为什么不!只需使用MemberInfo.CustomAttributes
)
例如:
foreach (var type in db.Model.GetEntityTypes())
{
foreach (var property in type.GetProperties())
{
var defaultValue = property.Relational().DefaultValue;
}
}
推荐阅读
- html - 如何使导航栏项目之间的空间彼此相同
- kubernetes - 本地卷上的 Kubernetes Pod 权限被拒绝
- javascript - 如何在 javascript 中将 png 图像的 512x512 像素高度图数组放大到 2017x2017 像素数组,以用作虚幻引擎 4 中的高度图?
- kubernetes - 即使端点可达,Prometheus up 指标也显示为 0
- python - 当实例化不在我控制范围内的代码中的类时,是否有一种技术可以让 Python 运行“mycode()”
- c++ - c++ 固定大小数组的类型错误被传递给模板请求数组指针
- javascript - 一种让 GPT-3 的“达芬奇”通过使用 discord.js 的不和谐机器人与用户交谈的方法?
- google-apps-script - 我正在尝试使用谷歌应用脚本连接到 Independentreserve api
- r - 选择值包含新列的特定字符串
- json - 如何在应用配置服务中使用 json 文件生成“标签”?