Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Dapper
提交
11ec77ea
D
Dapper
项目概览
int
/
Dapper
11 个月 前同步成功
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Dapper
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
11ec77ea
编写于
1月 19, 2017
作者:
M
Mark Bell
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update README with documentation for [ExplicitKey] attribute
上级
23e6b64c
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
36 addition
and
7 deletion
+36
-7
Dapper.Contrib/Readme.md
Dapper.Contrib/Readme.md
+36
-7
未找到文件。
Dapper.Contrib/Readme.md
浏览文件 @
11ec77ea
...
...
@@ -21,15 +21,21 @@ bool DeleteAll<T>();
```
For these extensions to work, the entity in question _MUST_ have a
key-property, a property named "
`id`
" or decorated with a
`[Key]`
attribute.
key property. Dapper will automatically use a property named "
`id`
"
(case-insensitive) as the key property, if one is present.
```
csharp
public
class
Car
{
public
int
Id
{
get
;
set
;
}
public
int
Id
{
get
;
set
;
}
// Works by convention
public
string
Name
{
get
;
set
;
}
}
```
If the entity doesn't follow this convention, decorate
a specific property with a
`[Key]`
or
`[ExplicitKey]`
attribute.
```
csharp
public
class
User
{
[
Key
]
...
...
@@ -39,6 +45,9 @@ public class User
}
```
`[Key]`
should be used for database-generated keys (e.g. autoincrement columns),
while
`[ExplicitKey]`
should be used for explicit keys generated in code.
`Get` methods
-------
...
...
@@ -111,15 +120,35 @@ Dapper.Contrib makes use of some optional attributes:
*
`[Table("Tablename")]`
- use another table name instead of the name of the class
```csharp
```csharp
[Table ("emps")]
public class Employee
{
public int Id { get; set; }
public int Id { get; set; }
public string Name { get; set; }
}
```
*
`[Key]`
- this property represents a database-generated identity/key
```
csharp
public
class
Employee
{
[
Key
]
public
int
EmployeeId
{
get
;
set
;
}
public
string
Name
{
get
;
set
;
}
}
```
*
`[ExplicitKey]`
- this property represents an explicit identity/key which is
*not*
automatically generated by the database
```csharp
public class Employee
{
[ExplicitKey]
public Guid EmployeeId { get; set; }
public string Name { get; set; }
}
```
*
`[Key]`
- this property is the identity/key (unless it is named "Id")
*
`[Write(true/false)]`
- this property is (not) writeable
*
`[Computed]`
- this property is computed and should not be part of updates
...
...
@@ -133,11 +162,11 @@ extension provided by Dapper.Contrib. There are 2 ways to deal with this.
1.
Call the
`Update`
method explicitly from
`SqlMapperExtensions`
```Csharp
```Csharp
SqlMapperExtensions.Update(_conn, new Employee { Id = 1, Name = "Mercedes" });
```
2.
Make the method signature unique by passing a type parameter to
`Update`
```Csharp
```Csharp
connection.Update<Car>(new Car() { Id = 1, Name = "Maruti" });
```
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录