我有两张有一对多关系的桌子。
CREATE TABLE Super (
SuperId VARCHAR(20) PRIMARY KEY
)
CREATE TABLE Sub (
SubId VARCHAR(20) PRIMARY KEY,
SuperId VARCHAR(20) FOREIGN KEY REFERENCES Super(SuperId)
)
我尝试做的是让实体框架根据正则表达式序列生成SubId。我正在使用的db具有SubId以SuperId开头。只要它是独一无二的,那么后来发生的事情并不重要。
INSERT INTO Super(SuperId) VALUES
('12345')
INSERT INTO Sub(SubId, SuperId) VALUES
('123451', '12345'),
('123452', '12345')
我希望能够做到这样的事情:
Sub mySub = new Sub();
mySub.SuperId = 12345;
db.Sub.Add(mySub, mySub.SuperId + "*");
哪里" *"是独一无二的。
我希望不必在代码中查询数据库以生成唯一ID。我知道实体框架可以生成一个唯一的ID,但这不是我想要的。
如果那个功能不在那里,那没什么大不了的。我只是不想继续查询数据库以检查密钥是否存在,但是如果必须的话,我会这样做。