לגלישה באתר בגירסה המותאמת לסלולאר

בהנהלת:

אופן הצפייה:
הסתרת שרשור מעל   תגובות
עץ הודעות:


בשנת 2002 השיקה מיקרוסופט טכנולוגיה חדשה, NET. היה חוסר במקום בו ניתן לשאול שאלות בנושא NET. בארץ, ולכן הוחלט לפתוח את פורום זה. 

פורום NET. (שנחשב כיום לפורום המוביל בארץ) הוא המקום בו יכולים מפתחים לשאול שאלות ולנהל דיונים בנושאים שונים.  לפני ששואלים בפעם הראשונה, יש לקרוא את תקנון הפורום.

 



 

 

גישה לתיקיות במערכת windws
25/11/14 23:50
12צפיות
מה מסמל /.. מבחינת מיקום תיקיות, ומה מסמל /../..
מהו elastic search
25/11/14 18:56
24צפיות
מה זה elasticsearch ולמה זה טוב?
בניית הקשרים בDB
25/11/14 00:26
43צפיות
שלום רב,
קראתי הרבה מאמרים  בנושא EntityFrameWork (כמובן גם סרטונים).
יש לי בעיה מהותית שאני לא מצליח לפתור. אשמח אם תעזרו לי בבקשה.
כשאני מנסה לשלב דאטה בייס קיים   בפרוייקט שלי -  בנית דאטה בייס תחילה  (עם כל הקשריו)  (database First)
ולאחר מכן משיכתו דרך הקוד  (edmx) אני נתקל בתופעה שכלל לא מובנית לי.
כל ההקשרים בין המחלקות הופכים להיות באופן דיפולטי יחיד לרבים. למרות שהסכמה המקורית בSQL-SERVER בעלת הקשרים , כשאני מנסה למשוך אותה לפרוייקט שלי .התלויות לא נשמרות.
אשמח לשמוע מהי הדרך הטובה ביותר לעשות זאת, ואיך אני יכול לשמור על ההקשרים בין המחלקות ( יחיד ליחיד- רבים לרבים.. וכו'..)
בעיה נוספת שנתקלתי בה היא שאין אזכור בדיאגרמת הDB למחלקת הקשר (שנובעת מהקשר של רבים לרבים).
קראתי שאם המפתח מורכב אך ורק מצירוף של שני המפתחות משתי הטבלאות שיצרו אותו אז לא יהיה אזכור לטבלה, אבל טבלה זו מכילה גם שדות ספציפיים אליה - למעט מפתחות.
מהי הדרך הטובה ביותר לפתור בעיה זו?
תודה , רואי.
בטבלה המקשרת תשים שדה ID-autoincrement שיהיה המפתח הראשי
25/11/14 12:07
41צפיות
זה יפתור לך את בעיית היעלמות הטבלה המקשרת
וכמובן שים אינדקס ייחודי על ההצלבה של שני המפתחות הזרים ע"מ למנוע כפילויות
 
את שאר השאלה לא בטוח שהבנתי
 
בברכה,
זיו
לגבי "היעלמות" הטבלה המקשרת,
25/11/14 16:42
19צפיות
זה בכוונה. וכפי שזיו ציין, זה קורה רק אם בטבלה שלך יש שני שדות - המפתחות של שתי הטבלאות האחרות. תוסיף שדה - הפיצ'ר הזה נעלם. (והטבלה תופיע בדיאגרמה)
היתרון הוא שאתה עובד רק עם ישויות חשובות ואמיתיות. למשל אתה מוסיף role to user , ובכלל לא מעניין אותך שבעצם יש שם עוד טבלה. היא מוסתרת ממך, וזה מאד נוח. בפועל כמובן תתוסף שורה לטבלת הקישור בכל פעולה של הוספה.
|*|נפתח פורום תרבות סין|*|
25/11/14 14:33
|גלובוס| אוהבים אגרול, ג'קי צ'אן ודרקונים?
אנו מזמינים אתכם לבקר בפורום החדש בתפוז-תרבות סין!
בפורום תוכלו לדון בסין, בתרבות הסינית ובהשפעתה על העולם שלנו, על ביקור במדינה, ממשק עם תושביה, פעילות עסקית ומגע עם אנשי העסקים המקומיים, וכמובן בשפה הסינית ובלימוד שלה.

אתם מוזמנים להיכנס לפורום כבר עכשיו:
http://www.tapuz.co.il/forums2008/forumpage.aspx?f...

גלישה מהנה! |תפוז|
קורסים: עוד יש דבר כזה?
23/11/14 20:16
56צפיות
לפני הרבה שנים, כשהיה מתכנת רוצה ללמוד איזה תחום חדש, ובעיקר כשמקום העבודה רצה להכשיר מתכנתים לשפה או טכנולוגיה, היו שולחים אותם לקורס. אחרי שבוע היו חוזרים כשהם פחות או יותר יודעים משהו על התחום המדובר. האם זה עדיין קיים? האם סיון, ג'ון ברייס, ודומיהם, עדיין קיימים?
בקנדה אני לא יודע על קיומו של דבר כזה. יש בתי ספר ומכללות, אבל יותר למסלולים שלמים, של שנה או משהו כזה. אין קורס sql server או קורס אנגולר, או דברים כאלה.
השאלה היא האם זה בגלל הקורסים אונליין כמו פלורלסייט ודומיהם, ששברו את השוק לבתי הספר? או שסתם פה יש פחות עניין בטכנולוגיות, וממילא המתכנתים זה רק הודים וסינים למיניהם?
קיים
24/11/14 07:13
44צפיות
בארץ התעשייה הזו מנופחת ע"י מענק השחרור, וע"י "חלום ההיטק". ובאופן מעליב משהו - גם ע"י "משרד התעסוקה" (או "האגף להכשרת כח אדם טכנולוגי").
בקנדה אין מענק שחרור, ורתך צנרת מרוויח (הרבה) יותר ממתכנת.
 
(גיגול קצר יעלה שגם בקנדה יש קורסים כאילו, ל"מפתחי מובייל").
ג'ון ברייס עדיין חי וקיים
25/11/14 04:23
28צפיות
אישית אני לא אלך לשם אלא אם זה יהיה על חשבון המעסיק מבחינת זמן וכסף.
 
על חשבוני יש לי את pluralsight שזה מצויין בשביל התעדכנות ואני לא רואה שום צורך לשלם אלפי שקלים על מדריך וכיתה כאשר באותו מחיר אני יכול לעשות מנוי לכמה שנים בpluralsight.
 
לפי מה שאני מבין הם חטפו בשנים האחרונות, פעם הצבא היה שולח הרבה הרבה יותר אנשים לקורסים מקצועיים שם, היום הצבא עושה בעצמו חלק ניכר בשל שיקולים תקציביים.
דרוש מפתח web
24/11/14 15:56
67צפיות
לסטארטאפ מבטיח ופורץ דרך בתחום האונליין-דייטינג דרוש מפתח web בכיר.
התפקיד כולל פיתוח המוצר וניהול צוות בהמשך הדרך, עבודה עם טכנולוגיות מתקדמות, הובלת הפן הטכנולוגי ובניית ארכיטקטורה.
הכניסה לתפקיד הינה בתור מייסד-שותף ותכלול קבלת אחוזים בשלב הראשון עם התחייבות לחצי משרה, משכורת טובה ותנאים טובים בשלב השני.
דרישות:
4+ שנות ניסיון בפיתוח בשפת #ASP.NET , C - חובה.
ניסיון ב-Linq ,ENTITY FRAMEWORK,HTML,CSS, LESS, JS, JQUERY, NODE.JS - חובה.
ניסיון ב-SQL - חובה.
ניסיון בטכנולוגית WEBRTC - יתרון משמעותי.
ניסיון בפיתוח ל-אנדאוריד ו/או אייפון - יתרון משמעותי. 
הבנה בשרתים ותקשורת - יתרון.
יכולת עבודה בצוות, פתיחות לשינויים ולדברים חדשים, ניסיון בהרמת מיזמים ויכולת להרמת פלטפורמה עצמאית, אוהב טכנולוגיות ובקיא בטרנדים החמים.
המשרה מיועדת לנשים וגברים כאחד. עבודה מהבית.
לשליחת קורות חיים יש לפנות בפרטי או במייל לתכלת gtchelet@gmail.com
תודה
תרשי לי לתרגם:
24/11/14 16:18
48צפיות
בא לי שיהיה לי אתר הכרויות.
בוא תקים לי אותו על חשבונך. אם יהיו רווחים אתה תקבל חלק מהם.
 
נשמע לי עסקה הוגנת.
 
º
ממש Babylon אתה
24/11/14 16:21
18צפיות
לא, זה באמת מעצבן.
24/11/14 16:26
42צפיות
כמה חוצפה יש לאנשים?
אני יודע שבפורום המקביל, זו נחשבת להודעה לא חוקית כי היא מציעה עבודה בשכר שהוא מתחת לשכר המינימום, ולכן נמחקת.
אני מציע לאמץ את זה כאן.
ובכל מקרה, שאף אחד לא יעיז להענות לנבלות האלה. רוצים להקים משהו? תשלמו. קחו סיכון כלשהו, ואל תחפשו פראיירים.
 
אני כבר לא מדבר על זה שזו גישה חובבנית. כי מי שיבוא להצעות כאלה, זה רק מתחילים/פראיירים. וזה אומר שהמערכת תהיה נפילה. אז זה סתם כאב לב ועצבים והפסדים לכולם.
אולי יש כאלה שזה מתאים להם
24/11/14 16:42
41צפיות
לא כולם זהים you know....
לא עבודה אלא שותפות
24/11/14 23:38
32צפיות
מי שמאמין בפרוייקט ומוכן להשקיע את זמנו, זה בסדר וזה חוקי.
שאלה ב asp.net
24/11/14 11:14
36צפיות
אני צריך להקים דף ברשת כדי שמשהו יכניס לשם נתונים ואני יקח אותם וידפיס
פתחתי   new empty WebSite ושמתי דף GLOBAL כדי לקרוא לפונקציה Application_BeginRequest
בהרצה הוא נותן שגיאה
HTTP Error 403.14 - Forbidden
The Web server is configured to not list the contents of this directory.
רק בהוספה של דף default זה עובד טוב..
משהו יודע מה הבעיה?
 
תודה.
>>
24/11/14 12:19
26צפיות
מה הבעיה? אתה לא מקבל עמוד כי לא הגדרת לו עמוד להגיש לדפדפן, הגדרת לו עמוד קיבלת עמוד..
לא ברור מה אתה מנסה לעשות
 
 
שאלה מעניינת על ReadOnlyDictionary
20/11/14 19:01
69צפיות
ב- NET 4.5.  יש קלאס חדש שנקרא  ReadOnlyDictionary. 
הקלאס הזה יורש ממשק 
IDictionary
הוא הפונקציה Add (לדוגמה) לא ממומשת בו, ובכל זאת הוא מתקמפל (למרות ש-IDictionary מכי בתוכו חתימה של Add).
מישהו פה יודע למה הדבר הזה מתקמפל??
מי אמר שהיא לא ממומשת ?
20/11/14 20:00
50צפיות
תסתכל עם dotPeek לתוך הקוד של המחלקה, ותראה שהם כן מממשים אותה, אבל זורקים תמיד NotSupportedException
 
    [__DynamicallyInvokable]
    void IDictionary<TKey, TValue>.Add(TKey key, TValue value)
    {
      ThrowHelper.ThrowNotSupportedException(ExceptionResource.NotSupported_ReadOnlyCollection);
    }
זה נקרא להסתיר / להחביא את הפונקציה
23/11/14 10:43
55צפיות
אם אני יורש ממחלקה אחרת ונותן פונקציה עם אותה חתימה כמו האבא אני בעצם מסתיר את הפונ של האבא, ואז אני יכול נניח לעשות לה PRIVATE.
 
למרות שלפי מיקי הם עשו את זה קצת אחרת
מה פתאום
23/11/14 12:22
38צפיות
אם אתה מממש אתה משנה אתה הפונקציה לprivate, תקבל שגיאה שאתה לא מממש את הממשק.
º
test
23/11/14 12:58
20צפיות
º
ACK 200
23/11/14 13:21
22צפיות
23/11/14 16:01
32צפיות
303 permanent redirect
|*|נפתח פורום קשר משפחתי|*|
23/11/14 15:05
1צפיות
בואו לשפוך את הלב, לשוחח על המשפחה, לקטר על הדודה, לרכל על הגיסה, להתייעץ על סבתא בפורום קשר משפחתי:

http://www.tapuz.co.il/forums2008/forumpage.aspx?f...



שליחת http request לשרת שיושב על מחשב הלקוח
20/11/14 22:29
61צפיות
איך אני שולח בקשת http מהמחשב שלי בבית לשרת שיושב על אותו מחשב?
אני יכול אומנם לשלוח לכתובת ip שלי, אך אם אשב עם המחשב בבית קפה במקום בבית, זה לא יעבוד.
localohst how to
21/11/14 08:05
79צפיות
 using System;
using System.Net;
using System.Linq;
using System.Text;

namespace TestProj
{
   class HttpTest
   {
       public static void Run()
       {
           using (var server = new HttpListener())
           {
               server.Prefixes.Add(_uri);
               server.Start();
               Console.WriteLine("Server is listening on {0}", server.Prefixes.First());

               // blocking call:
               var ctx = server.GetContext();
               Console.WriteLine("Request received: {0}", ctx.Request.Read());

               ctx.Response.Write("<HTML><BODY> Hello world!</BODY></HTML>");
           }
       }

       const string _uri = @"http://localhost:7777/";
   }
   static class Ext
   {
       public static void Write(this HttpListenerResponse res, string txt)
       {
           using (var stream = res.OutputStream)
           {
               var buffer = Encoding.UTF8.GetBytes(txt);
               res.ContentLength64 = buffer.Length;
               stream.Write(buffer, 0, buffer.Length);
           }
       }

       public static string Read(this HttpListenerRequest req)
       {
           using (var stream = req.InputStream)
           {
               var buffer = new byte[req.ContentLength64];
               stream.Read(buffer, 0, (int)req.ContentLength64);
               return Encoding.UTF8.GetString(buffer);
           }
       }
   }
}
 
º
לא הבנתי איך זה מתקשר לשאלה
22/11/14 13:11
12צפיות
נראה שהוא לא מכיר את הכתובת 127.0.0.1
22/11/14 13:47
28צפיות
לכל מחשב יש כתובת קבועה שניתן להגיע אליה מאותו מחשב.. 127.0.0.1 או localhost  או ::1
 
יותר נכון , את הקובץ HOSTS
22/11/14 16:49
34צפיות
זה מאפשר לכמה(!) שמות שונים להגיע אליך ל IIS לאתרים שונים אצלך
על ידי BINDING
לא רואה איך זה קשור
22/11/14 17:39
29צפיות
הקובץ HOST הוא מעין DNS לעניים וזה פרקטיקה רעה להשתמש בו לכל דבר שהוא לא טרבלשוטינג/חוסר בגישה לשרת DNS .
אני אסביר
22/11/14 17:46
33צפיות
הוא מפתח על שרת משלו ושהמחשב פיתוח זה גם מחשב השרת( אני מניח IIS)
הוא יכול בקוד לפנות ל 127.0.0.1 , אבל הוא יוכל להשתמש רק באתר אחד(!) ( להפנות רק לאתר אחד) - שלא(!) על ידי פורטים(!!!!)
כלומר  - הוא כן יוכל לשים BINDING עם פורטים שיפנו לאתר אחר - אבל זה מכוער.
 
לעומת זאת - אם אתה מגדיר בקובץ  HOSTS  - שמות דומיינים,
אתה יכול לעשות BINDING לאתרים שונים על ידי שמות
 
כמובן שמדובר על פיתרון לבעיה שלו ברמה האישית לוקאלית. אחרת לא ה 127 שלך קשור ובטח שלא ה HOSTS שלי קשור.
שוב , הוא יכול להשתמש ב 127
 
אבל  מחר הוא ירצה לפתוח עוד אתר אצלו - ואז הוא בבעיה.
עדיף לעשות את זה מההתחלה נכון.
 
 
 
localhost has nothing to do with hosts file
23/11/14 13:02
20צפיות
I'ts a standard. I'ts supported on my mac as well as your linux. Local servers should *always* listen on localhost, and *never* trust an arbitrary env. variable, which is unstandard enough for MS to move its location with each OS version.
תקרא שוב את התשובה
23/11/14 13:19
25צפיות
הוא מפתח לוקלאי אצלו
כמובן שה IIS מאזין ל LOCAL HOST
אבל הבקשה צריכה להיות מופנית לאיזה אתר ( אולי יש לו כמה)
הרבה יותר נוח לעבוד עם שמות
 
לדוגמא כאן : אצלי במחשב
 
כולם מפנים לאותו אחד בפועל
 
איפה ההגדרות של זה ?
ב HOS_TS
אם לא היית מגדיר ב HOS_TS זה לא היה עובד
אני חושב ששמות יותר מובן לבני אדם ואינטוטיבי מאשר עבודה עם IP ופורטים
 
הוא יכול לעבוד עם 127.0.01 נקי
בוודאי
אבל מחר הוא ירצה לעבוד עם עוד אתר  - או לבדוק CROSS DOMAIN AJAX -
הוא יצטרך : או(!!!!) - לעבוד עם פורטים
או לעבוד עם שמות שונים שאת זה הוא יעשה דרך ה HOS_TS.( אחרת - הוא ייצא לעולם האמיתי)
 
that's all.
 
 
 
 
º
נ.ב. ה underscore זה בגלל ש תפוז לא מאפשרים ....
23/11/14 13:20
9צפיות
מממ
21/11/14 19:41
46צפיות
אתה מכיר קובץ hosts ?
 
תענה אם כן ונמשיך מכאן
נראה לי שזה מה שאתה מחפש באמת
23/11/14 10:40
26צפיות
שגיאה בקריאת קובץ מ - Program Files
20/11/14 01:16
38צפיות
מדוע מתקבלת שגיאת Access Denied בעת ניסיון קריאה מתוך Program files?
כתבתי מערכת כלשהי (C#), אשר מותקנת לאחר מכן בתת ספרייה מתאימה בתוך Program files, וכוללת מלבד קובץ ההרצה, עוד מס' קבצים, חלקם "יחודיים" (קבצים שעשיתי להם סרליצזיה ממערכת אחרת, והמערכת הנוכחית צריכה לקרוא אותם על מנת לרוץ). בזמן טעינת המערכת, היא מנסה לקרוא את הקבצים המדוברים, אך אני מקבל מייד שגיאה כמתואר מעלה.
חיפוש בגוגל הביא אותי ל"לא לשים את הקבצים שם", אבל - זה לא רלוונטי...זה קבצים שהם חלק בלתי נפרד מהמערכת. מבחינתי הם "מקבילים" לקבצי DLL שגם יושבים שם (ואיתם כמובן אין בעיה).
 
כאשר אני מבצע על הקובץ הרצה "Run as admin", הוא רץ ללא בעיה וקורא את הקבצים מצוין.
 
האם יש דרך כלשהי לעקוף את זה?
אני יודע שאפשר להגדיר שההרצה תדרוש הרשאות admin, אבל זה לא אפשרי מבחינתי מכיוון שחלק מהמשתמשים בה לא יוכלו לקבל הרשאות כאלו.
 
חוסר אפשרות לכתוב נשמע לי הגיוני, אבל נשמע לי מוזר שאין אפשרות לקרוא משם ללא הרשאות ניהול 
 
אשמח לעזרה :)
95% מהאפליקציות לחלונות מחייבות הרשאות admin
20/11/14 05:35
55צפיות
יש לך אפשרות לדחוף את הקבצים הללו כ embedded resource לתוך הקוד?
יש אפשרות
20/11/14 17:49
35צפיות
פשוט בשידרוגים עתידים אאלץ לבצע החלפה של קובץ ההרצה, במקום להחליף רק את הקובץ הספציפי, אבל כמו שאני רואה - זה כנראה הפיתרון הנורמלי היחיד לבעיה הזו
 
תודה רבה
אפשר לעטוף resources כאלה ב DLL ייעודי, ולהחליף רק אותו
20/11/14 23:01
32צפיות
זה כמעט אותו פתרון, אבל מכניס קצת יותר סדר.
º
שיפור מצויין מבחינתי תודה על הרעיון
21/11/14 13:31
10צפיות
היפוך חכם של מחרוזת המכילה עברית אנגלית ומספרים
18/11/14 15:13
67צפיות
יש לי מחרוזת שאני מנסה להפוך
 
"שורה שלמה בעברית 3/8" וגם נושא חדש בסוגריים (הנושא) וגם מספר בסוגריים (25) וגם נקודה בסוף משפט."
 
השתמשתי בפונקציה 
  public static string Reverse(string s)
{
   char[] charArray = s.ToCharArray();
   Array.Reverse(charArray);
   return new string(charArray);
}
התוצאה היא 
".טפשמ ףוסב הדוקנ םגו )52( םיירגוסב רפסמ םגו )אשונה( םיירגוסב שדח אשונ םגו \"8/3 תירבעב המלש הרוש"
מה שקורה שזה בעצם הופך את המילים אבל המספרים והסוגריים מתהפכים בכיוון.
 
יש למישהו פתרון לזה?
לא
18/11/14 15:36
40צפיות
אתה תהיה חייב לכתוב אלגוריתם חכם בשביל זה
 
בוא נתחיל מההתחלה - מה אתה צריך להפוך ולמה?
19/11/14 11:30
29צפיות
יש אלגוריתמים ידועים ובדוקים איך לעשות את זה, אם אני מבין נכון אתה צריך להפוך עברית לוגית לעברית ויזואלית, אבל השאלה היא לאיזו מטרה אתה צריך לבצע את ההפיכה בעצמך, כי ברוב מערכות ההפעלה והפלטפורמות יש היום רכיבים שעושים את זה הרבה יותר טוב, וזה יחסוך לך את כל העבודה.
 
כמובן שאם תבצע היפוך של המחרוזת בלבד, הרי שהסוגר הימני ימשיך להיות סוגר ימני ואם הפכת את המחרוזת אז זה שסגר את הסוגריים משמאל, נמצא עכשיו בצד ימין והוא נראה בלתי-מתאים, אתה יכול להתגבר על זה בעזרת הפיכה בחזרה אבל זה למעשה יחליף לך את התו בתו אחר (כלומר את הסוגר הימני בסוגר השמאלי) שזה לא שומר על הסדר של המחרוזת כפי שרצית לעשות.
 
דרך אגב, מה שרשמת בעברית לא ייחודי לעברית, זה יקרה בדיוק אותו הדבר אם תבצע את אותה הפעולה גם בטקסט באנגלית, ולכן חשוב מה אתה מנסה להשיג והאם זה תלוי בזה שמדובר באותיות בעברית או שזו בעיה בעלת אופי כללי יותר?
 
בברכה,
זיו
אני מייצא טקסט מתוך מערכת שאני בונה בקובץ
19/11/14 13:11
33צפיות
קובץ שאמור להיקלט בתוכנה ישנה אני מנסה להגיע לתוצאה שהתוכנה הישנה הזו מוציאה כפלט (המערכת שלי אמורה להחליף את התוכנה אבל תהיה תקופה ארוכה מאד שבה הן יחיו ביחד).
 
אני מצרף קובץ לדוגמא - קובץ תקין כפי שצריך להיקלט.
אני כותב לקובץ משמאל לימין, אחרי התו ה31 צריכים להיכנס 150 תווים של המחרוזת בעברית (אני משלים רווחים בסוף כדי למלא 150 - במידה והמחרוזת קטנה מ 150) 
אוקיי, אז מה שאתה צריך נקרא אלגוריתם Bidi
19/11/14 14:17
46צפיות
שזה כמובן הקיצור של BiDirectional
פה בלינק מתחת יש אלגוריתם כתוב אמנם בשפת סי, אבל תוכל לקבל ממנו מושג כללי על מה שאתה עומד בפניו (לא מסובך נורא אבל צריך לשים לב לפרטים)
 
הרעיון הכללי הוא שיש עברית לוגית ועברית ויזואלית. בהצגת עברית לוגית, הסדר שבו התווים מסודרים במחרוזת הוא הסדר שבו הם נקראים (כלומר התווים מסודרים לפי הסדר הלוגי שלהם) ואילו בעברית ויזואלית הסדר של התווים הוא הסדר שבו הם יהיו מוצגים, ולכן אם מופיעה בתוך הטקסט בעברית מלה באנגלית היא תופיע הפוך, כי האות האחרונה שלה תופיע מייד לאחר האות האחרונה בעברית, ולא האות הראשונה שלה.
אם אני לא טועה יש גם ב-API של וינדוס פונקציות P-Invoke שעושות את זה, לא זוכר איך זה נראה ובאיזו ספריה הפונקציות האלה נמצאות, אבל כנראה שייקח לך אותו זמן לחפש את אלה או לכתוב את אלה
 
בברכה,
זיו
יש מימוש של bidi בדוט נט - NBiDi
20/11/14 22:08
30צפיות
º
מעולה
23/11/14 09:43
4צפיות
IMPLICIT | האם אפשר לעשות IMPLICIT באופן כללי על כל האובייקט
19/11/14 22:19
37צפיות

יש לי שאלה קצת מוזרה...
אני מריץ קטע קוד דינאמי..
ויכול להיווצר מצב שהקוד נראה ככה: 
1==1?SomeClass.GetInstance():5
עכשיו כמובן שהקומפיילר צועק כי זה לא אותו TYPE..
אז הלכתי והשתמשתי ב IMPLICIT OPERATOR...
השאלה שלי האם אפשר לעשות IMPLICIT בשורה אחת.. שיעבוד על כל ה TYPES... ניסיתי מ OBJECT אבל זה לא נותן.. וכל מה שאני לוקח משם זה את ה TOSTRING של האובייקט..

No. Implicit operators are class scoped
20/11/14 05:38
27צפיות
You have to cast refleted types - or add an extension method to object
Which is widely treated as bad style, hack, and so forth
אני ממליץ באופן כללי להמנע מכל שה שהוא implicit
20/11/14 16:16
26צפיות
וזוהי המלצה גורפת\רוחבית\קבועה לכמעט כל אספקט של הקוד
וכל זאת למה?
ברגע שיש "קסם" כלשהו בקוד, זה אומר שבעצם ע"י ה"קסם" אתה מסתיר ממי שקורא את הקוד שלך את הפעילות האמיתית (או את חלק מהפעילות האמיתית) שהקוד הזה מבצע, ואז ברגע שיש בעיה, הולכים לקרוא את הקוד, אבל למעשה מה שרואים זה רק חלק מהתמונה המלאה.
כתיבה מקוצרת היא עדיפה (לדעתי), רק אם משתמע ממנה באופן ברור וחד-משמעי מה קורה שם, כמו למשל במקרה של פונקציה אנונימית לסינון של פריטים מתוך רשימה (predicate) ודברים כאלה.
 
בברכה,
זיו
עבודה עם שאילתת insert
19/11/14 14:17
55צפיות
שלום לכם פורום יקר.
 
אני מעוניין לכתוב שאילתת insert בC# מסד הנתונים שלי הוא SQL-SERVER.
לכאורה מדובר בעניין מאוד פשוט. פונקציה שמקבלת 2 מערכים אחד של שמות השדות והשני של ערך כל שדה.
הבעיה שאני מעוניין לבנות פונקציה שתהייה נכונה לכל טבלה אפשרית. בשביל שזה יעבוד אני צריך לדעת איזה type יש בכל שדה.
הפתרון שחשבתי זה לעשות מערך של OBJECT.ואז לקבל את type של כל שדה מהטבלה ופשוט לעשות CAST. 
או פשוט לקבל string עם רשימת הערכים לפרק אותם למערך ולשים '' במידה והשדה דורש את זה.
(כמובן בכל מקרה צריך לוודא שמספר הערכים זהה למספר אותו הטבלה דורשת אבל זה די פשוט ..)
 
מה אתם מציעים?
תודה
 
º
read about sql_variant
19/11/14 14:25
23צפיות
שכחתי לציין דבר חשוב
19/11/14 14:42
31צפיות
ה DB מבחינת החברה הוא דבר קדוש. זאת מערכת חדשה שאנו בונים על בסיס DB ישן שקיים.
אין שום אופציה לשנות הגדרת שדות בDB. רק לעשות insert select update.
º
בשביל מה אתה צריך לדעת מה סוגי השדות?
19/11/14 17:48
18צפיות
מה זאת אומרת?
19/11/14 18:20
36צפיות
אני  מעוניין להכניס לתוך טבלה מסוימת נתונים.
אני צריך לדעת אילו ערכים להכניס לה (וגם לוודא שהמשתמש הכניס ערך לא נכון...)
הרעיון שלי זה שהטבלה תקבל מערך של אובייקטים ותמיר אותם לערך הנכון.
עוד אפשרות- להכניס מערך של מחרוזות ובמידת הצורך להוסיף  '  ' (כאשר זה מחרוזת או תאריך)
 
יש  רעיון אחר?
בבקשה 
->
19/11/14 18:47
39צפיות
אתה הולך בדרך לא נכונה
במיוחד בחברה שה"DB  מבחינתה הוא דבר קדוש"
לא עושים כזו פונקציה
בנוסף אין התאמה זהה בין טיפוסי הנתונים של SQL SERVER לC#
אבל אם אתה מתעקש
אתה שולח לפונקציה:
שם טבלה, רשימת פרמטרים מטיפוס OBJECT, ואז אתה שואל עבור כל פרמטר GETTYPE + TYPEOF
שוב, לא מומלץ ללכת לשם
אנחנו בעידן של EF, של STORED PROC, של שכבות DAL  מעולות שאפשר למצוא ולהשתמש  ברשת
לא צריך להמציא גלגל עקום...
 
+ לינק במידה והתעקשת...
תודה על התגובה
19/11/14 20:33
33צפיות
1. איזה פתרון היית ממליץ במקרה הזה?
2. באילו מצבים משתמשים בEF באילו ב STORED PROC,באילו משתמשים בשכבות DAL ובאילו נאלצים להמציא את הגלגל?
 
º
פתרון למה? לאף אחד אין מושג מה הבעייה שאתה מנסה לפתור...
20/11/14 08:27
8צפיות
>>
20/11/14 11:16
28צפיות
בדוק קצת על ADO.NET ועל STORED PROCEDURES
כנס לEF  בשלב הבא, אחרי שהכרת את הנושאים הנ"ל
תמציא את הגלגל כשאתה עובד עם DB מיושן או עם FW ישן שלא תומך בכלים שיש לך היום
בהצלחה
לא ברור איך STORED PROCEDURES יפתרו לי את הבעיה בדרך יעילה
23/11/14 01:12
15צפיות
נניח שיש לי 50 טבלאות. לכל אחת מהן מספר וסוג פרמטרים שונה.
על פי מה שראיתי בשביל להשתמש ב STORED PROCEDURES אני צריך לבנות פונקציית INSERT לכל טבלה ולהגדיר לה פרמטרים  ולממש אותה בפונקציה בC# עם פרמטרים מהסוג הנכון
אז אני חייב לכתוב פונקציית INSERT בSQL ובC# לכל טבלה וטבלה? 
אין פתרון יותר גנרי?
º
נא למחוק. בטעות התחברתי עם שם משתמש אחר שלי....
23/11/14 01:18
1צפיות
לא ברור איך STORED PROCEDURES יפתרו לי את הבעיה ביעילות
23/11/14 01:17
12צפיות

נניח שיש לי 50 טבלאות. לכל אחת מהן מספר וסוג פרמטרים שונה.
על פי מה שראיתי בשביל להשתמש ב STORED PROCEDURES אני צריך לבנות פונקציית INSERT לכל טבלה ולהגדיר לה פרמטרים  ולממש אותה בפונקציה בC# עם פרמטרים מהסוג הנכון
אז אני חייב לכתוב פונקציית INSERT בSQL ובC# לכל טבלה וטבלה? 
אין פתרון יותר גנרי?
 
כמובן שאפשר לעשות פונקציה אחת בC#
23/11/14 01:49
17צפיות
פשוט לעשות ללואה לפי מספר הפרמטרים
(.++for (int i=o;i<value.count;i
()value="@val"+i.tostring
(כמובן שכאן צריך להמיר  את ArType בהתאם לTYPE)
 
cmd.Parameters.AddWithValue(value, ArType );
 
אפשר לעשות דבר דומה ב SQL?
זה לא פותר את הבעיה
23/11/14 10:52
17צפיות
אלא מסדר את התכנון נכון יותר
לא עושים פונקציה כזו כמו שהסברתי
והפתרון הוא שבעצם אתה מכין בC# פונקציה שמריצה SP עם הפרמטרים שלו ושם אתה מעדכן איזה טבלה\אות שתחפוץ.
 
 
כלומר הפתרון הסטנדרטי
23/11/14 11:30
24צפיות
אני כותב לכל טבלה וטבלה SP לINSERT,DELETE,UPDATE לפי רצוני
ואז לכל אחד ואחד מהם אני כותב פונקציה מתאימה בC# שקוראת לSP ספציפי עם הפרמטרים הנכונים בשבילו.
 
נכון?
º
נכון
23/11/14 12:29
1צפיות
הפתרון הסטנדרטי
23/11/14 12:34
23צפיות
הוא להשתמש בDataSet עם ממשק משתמש גרפי, שאתה גורר אליו את הטבלאות מהדטהבייס, ואוטומטית אתה מקבל sqlDataAdepter עם select/update/insert/delete.
או להשתמש בגישה החדשה שנקראת entity framework.
 
בשום אופן אל תתעסק עם לוגיקה שמחוללת משפטי sql.
נדמה לי שכתבו לך את זה כמה פעמים, ואתה מתעקש לא לקבל.
תודה רבה
24/11/14 12:21
10צפיות
אך האם באמת EF ו מה שהצעת נותנים מענה לכל הבעיות?
 
לא עדיף לפחות להכיר את הכלים הבסיסיים והישנים במידה ופעם ב אצטרך לכתוב שאילתה שלא נבנתה באופן אוטומטי?
(חוץ מזה שמן הסתם צריך לפחות להבין אילו דברים הEF או כל כלי אחר חולל באופן אוטומטי)..
אכן כדאי להכיר את הדרך הישנה
24/11/14 23:25
8צפיות
אבל מספיק כמה דברים בסיסיים.
נדמה לי שהקוד הקצר דלהלן מכיל את רוב מה שצריך לדעת.
השימוש היום-יומי, הוא באמצעות ספריות. אם העבודה היא מול טבלאות, משתמשים בEF. אם עיקר העבודה היא מול פרוצדורות [למשל אפליקציות דו"חות], משתמשים בספריות כמו Dapper.
 
     public void Test()
   {
       string connectionString = @"data source=.\myserv;initial catalog=testDB;integrated security=True";
       SqlConnection cnn = new SqlConnection(connectionString);
       cnn.Open();
       // add new record
       string insertCommand = "INSERT MyTable VALUES(@Id, @Name); SELECT SCOPE_IDENTITY()";
       SqlCommand insertCmd = new SqlCommand(insertCommand, cnn);

       insertCmd.Parameters.AddWithValue("@Id", 100);
       insertCmd.Parameters.AddWithValue("@Name", "abc");
       int newIdentity = (int)insertCmd.ExecuteScalar();

       // delete record
       SqlCommand deleteCmd = new SqlCommand();
       deleteCmd.Connection = cnn;
       deleteCmd.CommandText = "DELETE MyTable WHERE Fields1 = @Parameter1";
       deleteCmd.Parameters.AddWithValue("@parameter1", 90);

       deleteCmd.ExecuteNonQuery();

       // run stored procedure
       SqlCommand salesCmd = new SqlCommand();
       salesCmd.Connection = cnn;
       salesCmd.CommandText = "my_stored_procedure";
       salesCmd.CommandType = System.Data.CommandType.StoredProcedure;

       SqlDataReader reader = salesCmd.ExecuteReader();
       while (reader.Read())
       {
           int id = (int)reader["Id"];
           string name = (string)reader["name"];
       }
       reader.Dispose();
       cnn.Dispose();
   }
 
זה ממש לא "פתרון סטנדרטי". זה מיותר לחלוטין.
24/11/14 07:21
35צפיות
משתמשים ב-SP כשיש לוגיקה לפעולות מול db.
אין שום סיבה לכתוב SP לפעולות CRUD עיוורות.
כפי שהגיבו מתחתי, "הפתרון הסטנדרטי" (למה בדיוק?) דהיום הוא EF.
 
אשמח אם תתן לי דוגמא
24/11/14 12:16
26צפיות
לבעיות שאפשר לפתור אך ורק ב SP.
º
אין כאילו.
24/11/14 18:35
3צפיות
grouping
24/11/14 23:35
17צפיות
ORM לא בנוי לשאילתות סיכום. למשל: אי אפשר לקבץ מכירות לפי חודש.
º
??
25/11/14 09:47
5צפיות
הנה דוגמא
25/11/14 10:55
25צפיות
 var sales = from t in Transactions
           group t by new DateTime(t.StatusTime.Year, t.StatusTime.Month, 1) into g
           select new
           {
               month = g.Key,
               price = g.Sum(x => x.BuyerPrice)
           };
  
 
הORM לא יכול להעביר את הgroupBy לשרת.
אפשר למשוך את כל הרשומות [ToList] ואז לקבץ, אבל כאשר יש אלפי טרנזקציות, או מיליונים, זה לא אפשרי.
 
ועוד, נתקלתי במקרים שבהם משום מה הORM [של טלריק] החליט לעשות בפרינג ומשך את כל הרשומות, במקום לבנות SQL.
 
ולכן לדעתי כדאי באופן עקבי להעביר את כל שאילתות הBI לצד השרת.
לא מבין מה אתה אומר
25/11/14 11:19
20צפיות
כשאתה מריץ(!) את השאילתה , זה בדיוק כאילו רשמת אותה והרצת אותה ב SQL
 
 
אתה עושה TOLIST כשאתה רוצה את הנתונים עכשיו - ולא כשאתה מתחיל לעשות  ENUMERATION.
 
קרא נא שוב את דברי
25/11/14 12:26
37צפיות
אני יודע שORM יודע לייצר גם group by.
אבל הבאתי דוגמא ספציפית למשימה טריוויאלית: סיכום מכירות ברמה חודשית.
קדימה. נראה אותך מצליח.
אתה רציני ?
25/11/14 13:01
46צפיות
אכן
26/11/14 10:28
2צפיות
אתה צודק, וזה אפשרי אבל בשני שלבים, כמו בקוד דלהלן.
  var sales = from trans in context.Transactions
           group trans by new { trans.StatusTime.Year, trans.StatusTime.Month } into g
           select new
           {
               key = g.Key,
               price = g.Sum(x => x.BuyerPrice)
           };
var salesByMonth = from sale in sales.ToArray()
                   select new
                   {
                       month = new DateTime(sale.key.Year, sale.key.Month, 1),
                       sales = sale.price
                   };
 
וכאן תבוא הבעיה השניה שציינתי, שאני לא סומך על הORM שיידע תמיד לבנות את הSQL, כי נתקלתי בבעיות.
למשל, אם יש למשתמש כמה פילטרים שהוא יכול לסנן לפיהם את התוצאות.
  IQueryable<Transactions> query = context.Transactions;
if(filterByProduct.HasValue)
{
   query = query.Where(x => x.productID == filterByProduct.Value);
}
צריך להיות, וכך זה בדרך כלל, שיווצר משפט אחד של SQL שיעבור לשרת.
אבל קרו לי כמה פעמים שהORM [של טלריק] התבלבל, והחליט להריץ את השאילתה בלי הפרמטר ולטעון לזכרון את כל הטרנזקציות [מיליוני רשומות!], ואז לפלטר את הרשומות שבזכרון.
אני לא חושב כך
25/11/14 10:36
26צפיות
אני חושב שSQL צריך לשכון בתוך הSQL
JS צריך לשכון בתוך הJS
HTML בתוך הHTML
וC# בתוך הC#
לפחות באפליקציית ווב ASP.NET
כל עיקום של הכללים האלה יוצר קוד לא קריא וקשה לתחזוקה שלא ברור מאיפה משתנה הUI.
כמו שלא מכניסים HTML לתוך הSQL
ככה לא מכניסים SQL לתוך הCS, כל דבר במקום המיועד שלו
 
וכמובן שזה גם משפיע על קריאות הקוד שאפשר לקרוא מחרוזת שלמה של SQL ולא להרכיב מפירורים ושברים בדיבאג בC#.
 
אבל זה אני, זכותך לחשוב ולבצע דברים אחרת..
ואגב, אני כן חושב שעדיף להתחיל בADO.NET עם SP מאשר לפול ישירות לעולם הORM , כמו שאני חושב שעדיף להבין איך כותבים HTML ולא רק להשתמש בDESIGNER של הVS (כנ"ל בSQL). פשוט יש דברים שטוב שאתה מבין לעשות אותם ואח"כ תתפנק על DESIGNER ושות'
 
מסכים מאד
25/11/14 11:20
18צפיות
אחרי זה מגיעים לראיון עבודה שלא עובד עם ה ORM שאתה מכיר ,  ואתה מוצא את עצמיך אילם מול שאילתות SQL.
SQL צריך לשכון בתוך ה SQL ( דעתי)
ולא רק ב ASP.
 
אנשים שוכחים שבשביל לשנות משהו בשאילתה , ב #C , כל ה APPPOOL יורד
זה לא מתאים לעבודה דינאמית של ה REALWORLD
איפה שחשוב פיתרון מהיר ושלא נדבר על PERFORMANCE
כל ORM מוריד PERFORMANCE
ה MINI ORM היחידי  ( שהוא לא באמת ORM אבל...) נוא DAPPER של MARC GRAVEL.
 
 
º
לא הבנתי את הקשר למה שכתבתי. ניחא.
25/11/14 11:38
4צפיות
אתה לא צריך לדעת מה סוג השדה
19/11/14 20:54
35צפיות
אם כל הענין הוא מתי להוסיף '' ומתי לא, אתה יכול לבדוק האם הערך הוא סטרינג או לא.
או להשתמש בפרמטרים:
 SqlCommand cmd = new SqlCommand();
cmd.CommandText = "UPDATE MyTable SET IntColumn = @Parameter1, VarcharColumn = @parameter2";

Cmd.Parameters.AddWithValue("@Parameter1", 25);
Cmd.Parameters.AddWithValue("@Parameter2", "abc");
 
REGEX מורכב ביותר
16/11/14 21:58
94צפיות
היי חברים, אני צריך עזרה עם ביטוי רגולרי שכנראה מורכב לי מדי..
 
נניח ופונקציה מקבלת את הטקסט הזה כפרמטר
"$id + "hello \' world \' " + $suffix"
אני מנסה לתפוס את הגרשיים כסטרינג ולעשות עליו SPLIT
שהתוצאה בעצם תהיה מערך של שני תאים שבאחד יש את $ID ובשני את $suffix
 
תודה רבה
 
אתה לא מובן
16/11/14 23:52
61צפיות
קודם כל הסטרינג שלך לא וואילידי
יש לך ["] בקצוות וזה לא וואלידי יחד עם מה שבפנים
 
דבר שני הבקשה לך לא מבונת
תן דוגמא יחד עם תוצאה רצויה.
 
 
מה גם שאם תעשה SPLIT על פי "גרשים כ STRING" - תקבל מערך עם 3 מקומות ולא 2.
 
בקיצור תיהיה יותר ברור.
 
ב
הביטוי חוקי, אני אסביר
17/11/14 08:54
42צפיות
נניח שהסטרינג שהפונקציה מקבלת נראה ככה: 
$id + "hello \' world \' " + $suffix
אני רוצה שבתפיסה של זוג גרשיים.. או זוג של גרש בודד.. אני אתעלם מגרש או גרשיים שלפני זה בא \....
 
כלומר אני רוצה להשיג מ SPLIT של הדבר הזה את שתי הצדדים שהם:
$id + 
 + $suffix
יש אפשרות כזאת?...
מצאתי REGEX שמוצא את התבנים ש MATCH שלו נותן תוצאה אחת אבל ה SPLIT שלו נותן משום מה 4 תוצאות...
 
אתה מסרב להבין
17/11/14 09:00
46צפיות
מה שרשמת מקודם זה
"$id + "hello \' world \' " + $suffix"
 
ולא
$id + "hello \' world \' " + $suffix
 
אז זה לא(!) היה וואלידי.
 
חוצ מזה , עדין לא הבאת דוגמא חיה
האם ID זה מספר ?
ומה זה SUFFIX ?
או האם התכוונת ל ID בתור המילה ID ?
מה אתה רוצה שהמערך הסופי יראה ? (  תן ערכים !! ולא TOKENS)
אני קצת מתפלא עליך שבמקום שהכי צריך להיות מדוייק - אתה הכי לא מדוייק
 
לא שואלים ככה שאלה.
 
 
 
אנסה שוב
17/11/14 09:04
35צפיות
התכוונתי שזה בא עם גרשיים עוטפות כמו שסטרינג נשלח.. ובעיבוד הם יורדות ולכן כתבתי בדוגמא השניה בלי..
 
בכל מקרה.. הכוונה שלי שזה מחרוזת אחת ארוכה שאני צריך לעבד...
ו ID ו SUFFIX הם לא TOKENS כרגע..
הם חלק מהמחרוזת.. שיש לי קוד שמטפל בטקסטים שלא עטופים גרשיים..
ולכן אני צריך לקחת את החלקים האלו ולבודד אותם..
 
כנראה אני לא מדבר עברית
17/11/14 09:05
39צפיות
ולא הבנת לגבי דוגמא אמיתית  
 
הנה הקלט :....
הנה הפלט:....
זאת דוגמא אמיתי...
17/11/14 09:11
36צפיות
ככה הסטרינג נראה...
 
אם לתת לך בדיוק פלט כמו שרצית :
הודעה זו מכילה תמונות
17/11/14 10:06
45צפיות
תודה , זה עונה על חלק מהצורך
17/11/14 11:14
39צפיות
המחרוזת יכולה להכיל כמה קטעים כאלו... והם יכולים להיות עטופים בגרש בודד או בגרשיים ..
 
עכשיו אתה מבין על מה אני מדבר שאתה לא מדוייק?
17/11/14 11:15
59צפיות
תן 3 דוגמאות עם כל הווריאציות עם דוגמא לקלט ופלט
זו ההודעה החארוןנה שאני מנסה לעזור לך בתנאים שכאלה.
צודק , מחילה.. אכתוב פה כמה דוגמאות מפורטות
17/11/14 11:31
45צפיות
Expression is a String Type
Expression -> accepted result
$pre + "some value with \' \" and \'much more" + 'some string with \' \" \' ' + #prefix + "final string"  -> [0] = "$pre + " [1] = " + " [2] =" + #prefix + "
$pre + ($id * @size) - @const + "some value with \' \" and \'much more"  -> [0] ="$pre + ($id * @size) - @const + "
'some value with \' \" and \'much more' -> empty array
'some value with \' \" and \'much more" -> invalid string
'some value with \' \" and \'much more' + ($var1 + #var2) -> [0]=" + ($var1 + #var2)"
 
 
º
?
18/11/14 21:56
12צפיות
בבקשה ( למרות שייאשת אותי)
הודעה זו מכילה תמונות
18/11/14 23:26
70צפיות
   Regex lineSplitter = new Regex(@"(?<!\\)"".+?[^\\]""|(?<!\\)'.+?[^\\]'");
 
18/11/14 23:36
27צפיות
תודה, אנסה להריץ על זה טסטים מתקדמים :0)
 
ובתמונה יותר נורמלית
19/11/14 09:59
49צפיות
אלוף אתה
19/11/14 21:19
40צפיות
פתרון אלגנטי ויפה..
עשיתי תיקון קטן שיתאים לי פיקססס
תודה רבה
 
º
19/11/14 21:21
4צפיות
קידום אתרים בגוגל

רוצה לקדם את האתר שלך?

כל הידע והחדשנות במקום אחד! היכנס לפרטים נוספים >>

organic, קידום אתרים

קידום אורגני בגוגל

בקידום אתרים אין מקום לבינוניות! לפרטים נוספים כנס>>>


עסקים נבחרים

עוד...
רוצה שהעסק שלך יופיע בתפוז עסקים?

האזור שלי בפורום
עוד בנושא הפורום


Flix
מקרא סימנים
ללא תוכן תגובה להודעה
הודעה חדשה אורח בפורום
הודעה מקורית הודעה נעוצה