نمایش نتایج 1 تا 4 از 4

نام تاپیک: فراخوانی یک رکورد جدول (Entity Framework)

  1. #1
    کاربر دائمی آواتار ROSTAM2
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    فارس
    پست
    2,010

    فراخوانی یک رکورد جدول (Entity Framework 3.5)

    سلام

    من یک جدول دارم: (Requierments)

    Screenshot 2024-11-07 072729.png
    برای فراخوانی یک رکورد بر اساس ID یک تابع کلی دارم که می تونم با استفاده از اون رکورد هر جدول از دیتابیس Projects رو فراخوانی کنم:


    Shared Function GetProjectsEntry(Of TableType, IDType)(ID As IDType) As TableType
    Dim IDParam As New ObjectParameter("ID", ID)
    Dim q As String =
    String.Format("SELECT VALUE {0} FROM {0} WHERE {0}.ID = @ID", GetType(TableType).Name)
    Return Projects.CreateQuery(Of TableType)(q, IDParam).FirstOrDefault
    End Function


    همه کدهای مرتبط با تابع:

    Imports System.Data.Objects
    Class ApplicationData
    Friend Shared Projects As New ProjectsEntities
    Shared Function GetProjectsEntry(Of TableType, IDType)(ID As IDType) As TableType
    Dim IDParam As New ObjectParameter("ID", ID)
    Dim q As String =
    String.Format("SELECT VALUE {0} FROM {0} WHERE {0}.ID = @ID", GetType(TableType).Name)
    Return Projects.CreateQuery(Of TableType)(q, IDParam).FirstOrDefault
    End Function
    ...
    End Class


    برای نمایش اطلاعات یک رکورد از جدول Requierments از این دستورات استفاده می کنم (Console Application):


    Imports System.Reflection

    Protected Friend Shared Sub ShowRecord()
    Console.ForegroundColor = ConsoleColor.White
    Console.Write("{0} Type Requierment-ID to Show Information: ", vbTab)
    Console.ForegroundColor = ConsoleColor.Gray
    Value = Console.ReadLine
    If Value.Length = 0 Then Exit Sub
    Try
    Dim Requierment As Requirements
    Requierment = ApplicationData.GetProjectsEntry(Of Requirements, Integer)(Val(Value))
    If Requierment Is Nothing Then
    Console.ForegroundColor = ConsoleColor.Red
    Console.WriteLine("{0} Requierment Not Found! (ID = {1})", vbTab, Value)
    Exit Sub
    End If
    Console.WriteLine()
    Console.ForegroundColor = ConsoleColor.DarkGreen
    Console.Write("{0} Requierment ID: ", vbTab)
    Console.ForegroundColor = ConsoleColor.Gray
    Console.WriteLine("{0}", Value)
    Console.ForegroundColor = ConsoleColor.White
    Console.WriteLine("{0} {1}", vbTab, StrDup(30, "─"))
    WriteRequiermentFields(Requierment)
    Console.ForegroundColor = ConsoleColor.White
    Console.WriteLine("{0} {1}", vbTab, StrDup(30, "─"))
    Catch ex As Exception
    Console.WriteLine(ex.Message)
    End Try
    End Sub



    Protected Friend Shared Sub WriteRequiermentFields(
    R As Requirements)
    'Get Item─Name Max─Length....
    Dim MaxLen As Integer = 0
    Dim Value As Object
    Dim PInfo As System.Reflection.PropertyInfo
    For Each Field As String In SortedRequiermentFieldNames
    If Field.ToLower = "id" Then Continue For
    PInfo = GetType(Requirements).GetProperty(Field)
    Value = PInfo.GetValue(R, New Object() {})
    If IsDBNull(Value) = True Then Continue For
    If String.IsNullOrEmpty(Value.ToString.Trim) = False Then
    If Field.Length > MaxLen Then MaxLen = Field.Length
    End If
    Next


    If MaxLen = 0 Then
    Console.ForegroundColor = ConsoleColor.DarkCyan
    Console.WriteLine("{0} Requierment has not any Information.", vbTab)
    Exit Sub
    End If


    '──────────────── ──────
    For Each Field As String In SortedRequiermentFieldNames
    If Field.ToLower = "id" Then Continue For
    PInfo = GetType(Requirements).GetProperty(Field)
    Value = PInfo.GetValue(R, New Object() {})
    If IsDBNull(Value) = True Then Continue For
    If String.IsNullOrEmpty(Value.ToString.Trim) = False Then
    WriteField(Field, Value, MaxLen + 1)
    End If
    Next
    End Sub



    Public Shared ReadOnly Property SortedRequiermentFieldNames() As String()
    Get
    Dim Expr As String() =
    {"ID", "Title", "Explain", "ComputerName",
    "Disk", "Path"}
    Return Expr
    End Get
    End Property



    Sub WriteField(Name As String, value As String, Optional MaximumLen As Integer = 9)
    FillName(Name, MaximumLen)
    Console.ForegroundColor = ConsoleColor.Green
    Console.Write("{0} {1}: ", vbTab, Name)
    Console.ForegroundColor = ConsoleColor.White
    Console.WriteLine("{0}", value)
    End Sub
    آخرین ویرایش به وسیله ROSTAM2 : شنبه 19 آبان 1403 در 04:35 صبح

  2. #2

    نقل قول: فراخوانی یک رکورد جدول (Entity Framework)

    سوالی که برای من پیش آمده اینه که چرا SQL مینوسید در حالیکه دارید از EF استفاده میکنید؟

  3. #3
    کاربر دائمی آواتار ROSTAM2
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    فارس
    پست
    2,010

    نقل قول: فراخوانی یک رکورد جدول (Entity Framework)

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    سوالی که برای من پیش آمده اینه که چرا SQL مینوسید در حالیکه دارید از EF استفاده میکنید؟
    من در مورد نسخه های مختلف Net. Framework سر در نمیارم ولی بنظر میاد برای نسخه بدون Core باید از این روش استفاده کرد....

  4. #4

    نقل قول: فراخوانی یک رکورد جدول (Entity Framework)

    نقل قول نوشته شده توسط ROSTAM2 مشاهده تاپیک
    من در مورد نسخه های مختلف Net. Framework سر در نمیارم ولی بنظر میاد برای نسخه بدون Core باید از این روش استفاده کرد....
    نخیر، میبایست از linq استفاده کنید
    بهتره به آموزش ها نگاهی بیاندازید. مثلا برای EF6 از این لینک https://www.entityframeworktutorial....framework.aspx

تاپیک های مشابه

  1. تفاوت entity framework ، linq to entity و Entity Framework Code First
    نوشته شده توسط negar.rafie در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 1
    آخرین پست: دوشنبه 24 آذر 1393, 10:43 صبح
  2. تفاوت entity framework با linq to entity
    نوشته شده توسط negar.rafie در بخش C#‎‎
    پاسخ: 9
    آخرین پست: شنبه 22 آذر 1393, 08:48 صبح
  3. سوال: ایجاد برنامه 3لایه با entity framework
    نوشته شده توسط faryadezamane در بخش WPF
    پاسخ: 0
    آخرین پست: سه شنبه 21 مرداد 1393, 08:48 صبح
  4. مشکل در نمایش اطلاعات با entity framework 4
    نوشته شده توسط Sir-Programmer در بخش C#‎‎
    پاسخ: 1
    آخرین پست: پنج شنبه 16 آبان 1392, 18:30 عصر
  5. entity framework
    نوشته شده توسط elahe.9817 در بخش C#‎‎
    پاسخ: 3
    آخرین پست: چهارشنبه 02 مرداد 1392, 21:08 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •