我目前在代码优先的实体框架Guid
中使用ContentItem
作为Context
的主键。但是,由于Guid
非常笨重,我还想根据以下逻辑为每个ContentItem
(或ContentItem
的后代)设置一个替代友好ID:
Name
属性,降低,用-
替换空格,并使用-
结束前缀ContentItem
具有相同前缀的FriendlyID
,并找到具有最高数字后缀的那个因此名为“Great Story”的第一个项目将FriendlyID
great-story-1
,下一个great-story-2
,等等。
我意识到有很多方法可以实现这类事情,但这是我的问题:
FriendlyID
)或者我应该在模型本身中使用具有手动定义的getters的属性/必须查询数据库并找出下一个可用FriendlyID
是什么的setter?FriendlyID
来制作人性化的网址和网络服务请求?这件事的最终目的是让我们可以让用户前往http://awesomewebsite.com/Content/great-story-1
并发送到正确的内容项,而不是http://awesomewebsite.com/Content/f0be271e-ee01-48de-8599-ddd602e777b6
等。答案 0 :(得分:1)
为自己编写一些帮助方法,以方便而强大的方式生成此类字符串ID。这样做就好了。