forked from fsprojects/Rezoom.SQL
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathEntityReader.fs
More file actions
27 lines (22 loc) · 811 Bytes
/
EntityReader.fs
File metadata and controls
27 lines (22 loc) · 811 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
namespace Rezoom.SQL.Mapping
type ColumnId = int
[<AbstractClass>]
type EntityReader() =
abstract member ProcessColumns : ColumnMap -> unit
abstract member Read : Row -> unit
abstract member SetReverse : ColumnId * obj -> unit
[<AbstractClass>]
type EntityReader<'ent>() =
inherit EntityReader()
abstract member ImpartKnowledgeToNext : EntityReader<'ent> -> unit
abstract member ToEntity : unit -> 'ent
type ObjectEntityReader<'ent>(ent : 'ent) =
inherit EntityReader<'ent>()
override __.ImpartKnowledgeToNext(_) = ()
override __.ProcessColumns(_) = ()
override __.Read(_) = ()
override __.SetReverse(_, _) = ()
override __.ToEntity() = ent
[<AbstractClass>]
type EntityReaderTemplate<'ent>() =
abstract member CreateReader : unit -> 'ent EntityReader