Insert data in MySQL db in all tables

here I am again for help. :) I am trying to insert data into my MySQL database using F #. My scheme includes 3 tables (experiments, gene and results):

Experiments         |       Results           |        Gene 
Experiment id       |       Experiment id     |        Gene id 
Experiment name     |       Gene id           |        Gene Name                         
                    |       Value             |

Now I am trying to add data to db using SQLProvider.

let db = sql.GetDataContext()

let gene_tb = db.Vp32.Genes
let exp_tb = db.Vp32.Experiments
let results_tb = db.Vp32.Results

let createNewInput (genename: string) (expname: string) res =
    let newRes = results_tb.Create()
    let newGene = gene_tb.Create()
    let newExp = exp_tb.Create()

    newGene.GeneName <- genename
    newExp.ExpName <- expname
    newRes.ResultVal <- Some res

createNewInput "test1"  "experiment_test1" (float32 999.5)

db.SubmitUpdates()

, , . , : "" Exp_id " ". , , . , ... . , , , , . - "" - , "if... then"?

!: D , ! ^ - ^

. , , , . . 3 ( ), :

let addNewExp (expname: string)=
    let newExp = exp_tb.Create()
    newExp.ExpName <- expname
    db.SubmitUpdates()

let addNewGene (genename: string)=
    let newGene = gene_tb.Create()
    newGene.GeneName <- genename
    db.SubmitUpdates()

let addNewRes (expName: string) (geneName: string) res =
    let tempExpId = 
        query {
            for experiment in exp_tb do
                where (experiment.ExpName = expName)
                select experiment.ExpId
            }
        |> Seq.head

    let tempGeneId = 
        query {
            for gene in gene_tb do
                where (gene.GeneName = geneName)
                select gene.GeneName
            }
        |> Seq.toArray |> String.concat ""

    let newRes = results_tb.Create()
    newRes.ExpId <- tempExpId
    newRes.GeneId <- tempGeneId
    newRes.ResultVal <- Some res
    db.SubmitUpdates()

, , id, - (). ( ), (Seq). , - .

+4
1

, , , , , , Experiment ( ExpName) Gene GeneName.

SubmitUpdates, ( , ) Experiment id Gene id.

, Result , SubmitUpdates.

(, , ...)

+2

Source: https://habr.com/ru/post/1686412/


All Articles