Jet.int不支持Long(BigInt)

时间:2019-05-17 21:26:46

标签: entity-framework

使用// index.js const cron = require("node-cron"); const express = require("express"); const fs = require("fs"); app = express(); // schedule tasks to be run on the server cron.schedule("* * * * *", function() { console.log("running a task every minute"); }); app.listen(3128); [...] 时,包含长属性的代码优先模型无法映射到数据库。 问题是我无法将该属性的数据类型从Long更改为Int。

这是错误:

jetEntityFrameworkProvider

1 个答案:

答案 0 :(得分:0)

花了整整3天的时间解决这个问题以及其他一些与JetEntityFramewrok有关的问题之后,我想到了这种解决方法。

如果长列既不是主键也不是原键,只需在其上方添加以下数据注释属性:

[Column("Column_Name", TypeName="BigInt")]

但是,如果它是主键,则相同的选择将起作用,除非您将丢失自动新值标识。意味着您必须手动计算Column new Value。

我使用以下方法,任何人都有更好的方法,请将其写在评论上或编辑答案并在末尾添加(谢谢)

Long id = 1;
If (Context.TableName.Count() > 0)
     Id = Context.TableName.Max(x=>x.id) + 1;

TableName obj = new TableName(){ Id = id};