如果我正确理解您的问题:
不同的用户可以创建自己的联系人列表
上述任务不需要单独的数据库,您可以Contacts
通过在Users
将存储.ContactOwner
Contact
User ID
因此,您的联系人表可能如下所示:(TABLE NAME: CONTACTS)
|ContactID | ContactType | ContactName | ContactOwner |
|0123456789 | MOBILE | Mr. ABC | USER1 |
|email@email.com | EMAIL | Mr. ABC | USER1 |
|0123456789 | MOBILE | Mr. PQR | USER1 |
|0123456789 | MOBILE | Mr. XYZ | USER1 |
|0123456789 | MOBILE | Mr. LMN | USER2 |
|0123456789 | MOBILE | Mr. AAA | USER3 |
因此,正如您可以看到上面的示例表,您可以确定哪个ContactID
属于哪个User
?或者哪些联系人是由哪个创建的User
?在这种情况下,您必须ContactOwner
与其他主键一起制作主键(复合键),以确保一个联系人可以由多个用户拥有/创建。
更新 1
要获取特定用户创建的联系人,您可以编写如下查询:
Select * from CONTACTS where ContactOwner = 'USER1'
上面的查询将为您提供由 创建/拥有的联系人USER1
,而不是由其他用户创建的联系人。因此您的结果将包含使用上述查询的以下记录:
|ContactID | ContactType | ContactName | ContactOwner |
|0123456789 | MOBILE | Mr. ABC | USER1 |
|email@email.com | EMAIL | Mr. ABC | USER1 |
|0123456789 | MOBILE | Mr. PQR | USER1 |
|0123456789 | MOBILE | Mr. XYZ | USER1 |
更新 2
您的查询将是一个动态查询,其中ContactOwner
将USER
是登录的人。这和这可能会帮助您编写动态查询(准备好的语句)[注意:因为我是一名Java
开发人员,所以我不知道C#
for中的合适语法编写动态查询。]